数据节点管理

上面已经介绍如何从零开始搭建集群。集群组建完后,还可以随时添加新的数据节点进行扩容,或删除数据节点,并检查集群当前状态。

添加数据节点

执行CLI程序taos, 使用root账号登录进系统, 执行:

  1. CREATE DNODE "fqdn:port";

将新数据节点的End Point添加进集群的EP列表。“fqdn:port”需要用双引号引起来,否则出错。一个数据节点对外服务的fqdn和port可以通过配置文件taos.cfg进行配置,缺省是自动获取。【强烈不建议用自动获取方式来配置FQDN,可能导致生成的数据节点的End Point不是所期望的】

删除数据节点

执行CLI程序taos, 使用root账号登录进TDengine系统,执行:

  1. DROP DNODE "fqdn:port";

其中fqdn是被删除的节点的FQDN,port是其对外服务器的端口号

【注意】

  • 一个数据节点一旦被drop之后,不能重新加入集群。需要将此节点重新部署(清空数据文件夹)。集群在完成drop dnode操作之前,会将该dnode的数据迁移走。

  • 请注意 drop dnode 和 停止taosd进程是两个不同的概念,不要混淆:因为删除dnode之前要执行迁移数据的操作,因此被删除的dnode必须保持在线状态。待删除操作结束之后,才能停止taosd进程。

  • 一个数据节点被drop之后,其他节点都会感知到这个dnodeID的删除操作,任何集群中的节点都不会再接收此dnodeID的请求。

  • dnodeID的是集群自动分配的,不得人工指定。它在生成时递增的,不会重复。

查看数据节点

执行CLI程序taos,使用root账号登录进TDengine系统,执行:

  1. SHOW DNODES;

它将列出集群中所有的dnode,每个dnode的fqdn:port, 状态(ready, offline等),vnode数目,还未使用的vnode数目等信息。在添加或删除一个数据节点后,可以使用该命令查看。

查看虚拟节点组

为充分利用多核技术,并提供scalability,数据需要分片处理。因此TDengine会将一个DB的数据切分成多份,存放在多个vnode里。这些vnode可能分布在多个数据节点dnode里,这样就实现了水平扩展。一个vnode仅仅属于一个DB,但一个DB可以有多个vnode。vnode的是mnode根据当前系统资源的情况,自动进行分配的,无需任何人工干预。

执行CLI程序taos,使用root账号登录进TDengine系统,执行:

  1. SHOW VGROUPS;