TDengine集群部署

物联网 / 2021-09-02

参考自TDengine官方文档:https://www.taosdata.com/cn/documentation/cluster

一、下载安装

1.1、下载

wget https://www.taosdata.com/assets-download/TDengine-server-2.1.3.2-Linux-x64.tar.gz

1.2、解压

tar -zxf TDengine-server-2.1.3.2-Linux-x64.tar.gz

1.3、安装

执行安装脚本后,会自动解压taos.tar.gz并将其安装至/usr/local/,同时自动开机启动taosd服务,出现下面的添加节点示意先忽略,按Ctrl+C中断它。

cd TDengine-server-2.1.3.2
bash install.sh
# 应该会打印类似下面的信息
Created symlink from /etc/systemd/system/multi-user.target.wants/taosd.service to /etc/systemd/system/taosd.service.

System hostname is: ponylead03

Enter FQDN:port (like h1.taosdata.com:6030) of an existing TDengine cluster node to join
OR leave it blank to build one:

二、集群配置

提前配置好名称解析,可以参照官方文档,其实就是做好/etc/hosts名称解析的配置,配置好集群所有节点的名称解析,确保网络通信无问题。

2.1、修改配置

修改配置文件/etc/taos/taos.cfg,只有两处是必改的,即firstEpfqdn,其它并非必须。

firstEp必须全部节点保持一致,即选择一台机器当主节点,比如我选择ponylead03作为集群主节点,那么其它从节点的firstEp必须是ponylead03:6030

fqdn,完全限定域名,即填各节点自身的hostname

以下为从节点ponylead05的配置示意:

# first fully qualified domain name (FQDN) for TDengine system
firstEp                   ponylead03:6030

# local fully qualified domain name (FQDN)
fqdn                      ponylead05

2.2、启动服务

注意,最好修改好配置文件后再启动服务,且必须先启动主节点,再启动别的节点,否则从节点加入集群也是显示离线状态。

systemctl start taosd

2.3、查看节点

命令行键入taos进入taosd命令行界面

TDengine跟MySQL语法类似,也是在语句最后加分号。

SHOW DNODES,查看集群所有节点,此时因为还没配置集群,所以显示只有此主节点。

[root@ponylead03 local]# taos

Welcome to the TDengine shell from Linux, Client Version:2.1.3.2
Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.

taos> SHOW DNODES;
   id   |           end_point            | vnodes | cores  |   status   | role  |       create_time       |      offline reason      |
======================================================================================================================================
      1 | ponylead03:6030                |      1 |      6 | ready      | any   | 2021-09-01 19:59:48.670 |                          |
Query OK, 1 row(s) in set (0.001423s)

2.4、添加节点

CREATE DNODE,为集群添加新节点,语法为新节点主机名+端口(默认6030),添加完毕后再次使用SHOW DNODES;确认是否成功添加并处于ready状态。

taos> CREATE DNODE "ponylead04:6030";
Query OK, 0 of 0 row(s) in database (0.001149s)

taos> CREATE DNODE "ponylead05:6030";
Query OK, 0 of 0 row(s) in database (0.001267s)

taos> SHOW DNODES;
   id   |           end_point            | vnodes | cores  |   status   | role  |       create_time       |      offline reason      |
======================================================================================================================================
      1 | ponylead03:6030                |      1 |      6 | ready      | any   | 2021-09-01 21:33:22.719 |                          |
      2 | ponylead04:6030                |      0 |      6 | ready      | any   | 2021-09-01 21:34:41.846 |                          |
      3 | ponylead05:6030                |      0 |      6 | ready      | any   | 2021-09-01 21:34:45.981 |                          |
Query OK, 3 row(s) in set (0.001135s)

2.5、故障处理

如果发现从节点加入集群后显示为offline离线状态,请检查名称解析配置是否无误且网络互通;更重要的是先停止所有节点的taosd服务,然后rm -rf /var/lib/taos/*,删除所有数据文件(即删库,谨慎操作!),再启动主节点然后启动从节点。

此时,问题应该就解决了。

世间微尘里 独爱茶酒中