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