TDengine taosmigrate工具使用指南

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,一次将所有节点信息都修改完成。

注:目前只有企业版包含该工具。