TDengine Database的taosmigrate工具支持taosd的數據文件可以遷移到不同的機器上運行。下面以一個集群場景描述taosmigrate工具的使用方法。
一、首先,登錄要遷移的集群,執行show dnodes獲取所有的dnode id。
taos> show dnodes;
id | end_point | vnodes | cores | status | role | create_time |
==============================================================================
1 | node1:6030 | 0 | 2 | ready | mnode | 2020-09-14 16:33:14.610 |
2 | node2:6030 | 1 | 2 | ready | vnode | 2020-09-14 16:33:19.796 |
3 | node3:6030 | 1 | 2 | ready | vnode | 2020-09-14 16:33:20.397 |
Query OK, 3 row(s) in set (0.002770s)
二、停止集群的所有節點。
三、規劃集群中各個節點遷移到新的環境中的節點的fqdn和端口。比如 id=1的dnode遷移到新的節點為 new.node1:7100;id=2的dnode遷移到新的節點為new.node2:7200;id=3的dnode遷移到新的節點為new.node3:7200。
四、將各個dnode的數據文件夾拷貝到對應的新環境的節點上,且目錄必須是配置文件中的dataDir設置的目錄。如果沒有配置,則是缺省的/var/lib/taos。
五、在新環境的各個節點上,分別執行taosmigrae,完成dnode中 id 與 fqdn:port的修改。
mason@VirtualBox ~/git/tools $ ./taosmigrate -r ~/test/dnode1/data/ -g "1 new.node1:7100, 2 new.node2:7200, 3 new.node3:7300"
六、然后啟動所有節點。
集群應該在新環境下,正常運行起來!
taosmigrate命令參數說明:
mason@VirtualBox ~/git/tools $ ./taosmigrate --help
Usage: taosmigrate [OPTION...]
-r data dir data dir
-d dnodeId dnode id
-f fqdn dnode fqdn
-p port dnode port
-g multi dnodes multi dnode info, e.g. "2 7030 fqdn1, 3 8030 fqdn2"
-?, --help Give this help list
--usage Give a short usage message
-r: 數據庫文件所在的目錄;
-d:遷移前節點的dnode id,通過taos shell上執行 show dnodes獲取;
-f:dnode id對應的新節點中的fqdn;
-p:dnode id對應的新節點中的端口號;
-g:對于集群中的節點,可以同時指定新環境中各個節點的fqdn和port;
對于單節點,直接使用-d、 -f、 -p,就可以了,對于集群,直接使用-g,一次將所有節點信息都修改完成。
注:目前只有企業版包含該工具。



























