TDengine 集群 多机器docker 部署
https://docs.taosdata.com/deployment/docker/
https://blog.csdn.net/dixialieren/article/details/128290211
hostnamectl set-hostname node1 hostnamectl hostnamectl set-hostname node2 hostnamectl hostnamectl set-hostname node3 hostnamectl
每台机器 创建文件夹
mkdir -p /data/tdengine/dnode/conf && cd /data/tdengine/dnode/conf
vi /data/tdengine/dnode/conf/taos.cfg
# taosd启动时,主动连接的集群中第一个dnode的end point, 默认值为localhost:6030。 firstEp node1:6030 # taosd启动时,如果first连接不上,尝试连接集群中第二个dnode的end point, 默认值为空。 secondEp node1:6030 # 数据节点的FQDN,缺省为操作系统配置的第一个hostname。如果习惯IP地址访问,可设置为该节点的IP地址。 fqdn node1 # taosd启动后,对外服务的端口号,默认值为6030。 serverPort 6030 # system time zone timezone UTC-8 # system locale # locale en_US.UTF-8 # system charset # charset UTF-8 monitor 1 monitorFQDN buildkitsandbox audit 1
vi /data/tdengine/dnode/conf/taos.cfg
# taosd启动时,主动连接的集群中第一个dnode的end point, 默认值为localhost:6030。 firstEp node1:6030 # taosd启动时,如果first连接不上,尝试连接集群中第二个dnode的end point, 默认值为空。 secondEp node2:6030 # 数据节点的FQDN,缺省为操作系统配置的第一个hostname。如果习惯IP地址访问,可设置为该节点的IP地址。 fqdn node2 # taosd启动后,对外服务的端口号,默认值为6030。 serverPort 6030 # system time zone timezone UTC-8 # system locale # locale en_US.UTF-8 # system charset # charset UTF-8 monitor 1 monitorFQDN buildkitsandbox audit 1
vi /data/tdengine/dnode/conf/taos.cfg
# taosd启动时,主动连接的集群中第一个dnode的end point, 默认值为localhost:6030。 firstEp node1:6030 # taosd启动时,如果first连接不上,尝试连接集群中第二个dnode的end point, 默认值为空。 secondEp node2:6030 # 数据节点的FQDN,缺省为操作系统配置的第一个hostname。如果习惯IP地址访问,可设置为该节点的IP地址。 fqdn node3 # taosd启动后,对外服务的端口号,默认值为6030。 serverPort 6030 # system time zone timezone UTC-8 # system locale # locale en_US.UTF-8 # system charset # charset UTF-8 monitor 1 monitorFQDN buildkitsandbox audit 1
docker run -d --name tdengine --restart always \ -p 6030:6030 \ -p 6041-6049:6041-6049/tcp \ -p 6041-6049:6041-6049/udp \ --add-host node2:192.168.2.202 --add-host node3:192.168.2.203 \ -v /data/tdengine/dnode/log:/var/log/taos \ -v /data/tdengine/dnode/data:/var/lib/taos \ -v /data/tdengine/dnode/conf/taos.cfg:/etc/taos/taos.cfg \ tdengine/tdengine:latest
docker run -d --name tdengine --restart always \ -p 6030:6030 \ -p 6041-6049:6041-6049/tcp \ -p 6041-6049:6041-6049/udp \ --add-host node1:192.168.2.201 --add-host node3:192.168.2.203 \ -v /data/tdengine/dnode/log:/var/log/taos \ -v /data/tdengine/dnode/data:/var/lib/taos \ -v /data/tdengine/dnode/conf/taos.cfg:/etc/taos/taos.cfg \ tdengine/tdengine:latest
node3
docker run -d --name tdengine --restart always \ -p 6030:6030 \ -p 6041-6049:6041-6049/tcp \ -p 6041-6049:6041-6049/udp \ --add-host node1:192.168.2.201 --add-host node2:192.168.2.202 \ -v /data/tdengine/dnode/log:/var/log/taos \ -v /data/tdengine/dnode/data:/var/lib/taos \ -v /data/tdengine/dnode/conf/taos.cfg:/etc/taos/taos.cfg \ tdengine/tdengine:latest
docker exec tdengine taos -s "show dnodes"
docker exec -it tdengine /bin/bash taos; create dnode "node2:6030"; create dnode "node3:6030"; show dnodes; show mnodes;
docker exec -it tdengine /bin/bash taos alter user root pass '123456';
# 在C:\Windows\System32\drivers\etc\hosts文件中localhost name resolution is handled within DNS itself.下添加:
# 10.0.31.2 taosnode1 taosnode2 taosnode3
# 客户端下载地址:https://www.taosdata.com/cn/getting-started/#Quick%20Start
# 客户端下载之后直接安装即可,默认路径C:\TDengine
# 修改C:\TDengine\cfg\taos.cfg,设置firstEp为taosnode1:6030,secondEp为taosnode2:7030
# 设置secondEp主要是为了防止taosnode1节点宕机后无法连接集群
# C:\TDengine中cmd启动客户端,输入taos连接集群
# create database testdb replica n; 创建数据库并设置副本数,n代表几个副本;
# 当一个vnode group里一半或以上的vnode不工作时,不能对外提供服务;
# 默认replica为1,此时集群不具备vnode高可用,若想高可用,大于等于2;
# mnode的副本数,由系统配置参数numOfMnodes决定,有效范围1-3,且小于等于集群节点数;
# 为保证mnode的高可用性,numOfMnodes必须设置为2或3,默认为3;
# 触发情况:下面这三种情况将自动触发负载均衡,不须人工干预
# 如果副本数为偶数,当一个vnode group里一半的vnode不工作时,是无法从中选出master的。
# 同理,一个mnode组里一半的mnode不工作时,也是无法选出mnode的master的。
# Arbitrator是一个可执行程序,模拟一个vnode或mnode在工作,但只简单的负责网络连接,不处理任何数据插入或访问。
# 比如:对于副本数位2的情况,如果一个节点A离线,但另外一个节点B正常,如果没有Arbitrator,那么节点B也不能对外工作,
# 但如果能连接到Arbitrator,那么节点B就能正常工作