【转】一篇文章说清楚 TDengine 的 FQDN
原文:https://mp.weixin.qq.com/s/vwLiSj_tQlZaxVY-2AD1NA
---------------------
TDengine2.0以后需要使用FQDN来进行访问。小朋友,你是否有很多小问号:什么是FQDN,为什么要配置FQDN,如何配置FQDN。我们今天来简单讲一下。心急的小伙伴,可以直接跳转到配置章节。
什么是FQDN
FQDN(fully qualified domain name,完全限定域名)是Internet上特定计算机或主机的完整域名。FQDN由两部分组成:主机名和域名。例如,假设邮件服务器的FQDN可能是mail.taosdata.com。主机名是mail,主机位于域名taosdata.com中。
DNS(Domain Name System),负责将FQDN翻译成IP,是互联网绝大多数应用的寻址方式。
为什么要配置FQDN
集群的每个节点是由End Point来唯一标识的,End Point是由FQDN外加Port组成,比如 h1.taosdata.com:6030。这样当IP发生变化的时候,我们依然可以使用FQDN来动态找到节点,不需要更改集群的任何配置。
如何配置FQDN
很多同学在本地并没有配置DNS服务器,本文就是要解决这种情况下,如何来配置FQDN及其解析的。下图是我们的网络环境,由3台服务器,和两台工作站组成。
服务器/工作站 | hostname |
IP |
server1 | node1 | 10.211.55.14 |
server2 | node2 | 10.211.55.15 |
server3 | node3 | 10.211.55.16 |
workstation1 | pc-01 | 10.211.55.201 |
Workstation2 | pc-02 | 10.211.55.202 |
Windows
-
由于Windows暂时只支持部署客户端,所以我们只需要配置FQDN的解析即可。
-
以Win10为例,大家需要修改C:\Windows\System32\drivers\etc 目录下的hosts文件
-
在文件中添加
10.211.55.14 node1
10.211.55.15 node2
10.211.55.16 node3
Linux
-
以node1节点为例,我们需要修改/etc/hostname和/etc/hosts
-
修改/etc/hostname,修改完成后需要重启才能生效
-
修改/etc/hosts
vi /etc/hostname
//将文件内容修改为node1
vi /etc/hosts
//添加一下三行
10.211.55.14 node1
10.211.55.15 node2
10.211.55.16 node3
验证
配置完成之后,我们可以在Windows的CMD或者在Linux中打开Terminal,使用ping hostname来验证是否配置生效。
-
成功提示:
root@node2:~
PING node1 (10.211.55.14) 56(84) bytes of data.
64 bytes from ubuntu (10.211.55.14): icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from ubuntu (10.211.55.14): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from ubuntu (10.211.55.14): icmp_seq=3 ttl=64 time=0.054 ms
64 bytes from ubuntu (10.211.55.14): icmp_seq=4 ttl=64 time=0.030 ms
64 bytes from ubuntu (10.211.55.14): icmp_seq=5 ttl=64 time=0.033 ms
-
失败提示:
//windows下
C:\Users\pc-01>ping node1
Ping 请求找不到主机 node1。请检查该名称,然后重试。
//Linux下
root@node2:~
ping: unknown host node1
注:按照文中要求进行配置,正常情况下不会出现失败提示,如果出现失败提示,请检查自己的配置是否正确;如果配置完全正确,但还是出现了失败提示,请大家将问题递交到GitHub上:
https://github.com/taosdata/TDengine
在解决了FQDN的疑问后,大家就可以开始搭建第一个集群了。
原文地址:https://www.cnblogs.com/oxspirt/p/15232651.html
- Linux进程间通信(三) - 信号
- 我的WCF之旅(7):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的继承
- Linux进程间通信(IPC)机制总览
- 负载均衡 - 综述
- 浅谈ASP.NET的Postback
- WCF版的PetShop之一:PetShop简介[提供源代码下载]
- 维吉尼亚密码及程序实现
- 迪菲-赫尔曼密钥交换
- 分布式系统组件之配置中心
- github 提交报403 forbidden的错误解决
- Apache thrift - 使用,内部实现及构建一个可扩展的RPC框架
- redis主从集群搭建及容灾部署(哨兵sentinel)
- 浅谈ASP.NET的Postback
- redis配置详解(中英文)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android自定义View实现五子棋小游戏
- 通过.htaccess防盗链
- Android实现聊天记录上传本地服务器(即时通讯)
- Android10.0实现本地音乐播放(附源码下载)
- python - 获取网站PR及百度权重
- 详解Android Studio3.5及使用AndroidX的一些坑
- AndroidQ分区存储权限变更及适配的实现
- Gradle的缓存路径修改的四种方法(小结)
- 适配AndroidQ拍照和读取相册图片的实现方法
- 这是我的第一篇文章
- Android自定义View实现五子棋游戏
- AndroidQ(10)黑暗模式适配的实现
- Android仿微信录音功能
- android实现截图并动画消失效果的思路详解
- 位运算判断奇偶数