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就能正常工作