1 准备三台机器

规划集群所有物理节点的 FQDN,将规划好的 FQDN 分别添加到每个物理节点的 /etc/hosts;修改每个物理节点的 /etc/hosts,将所有集群物理节点的
IP 与 FQDN 的对应添加好。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
vim /etc/hosts 
## 三台都要配置
192.168.5.210 tdengine-serve01.loky.wang
192.168.5.211 tdengine-serve02.loky.wang
192.168.5.212 tdengine-serve03.loky.wang

## 修改hostname 重启生效
hostnamectl set-hostname tdengine-serve01.loky.wang
hostnamectl set-hostname tdengine-serve02.loky.wang
hostnamectl set-hostname tdengine-serve03.loky.wang
## 完成后,ping下看看是否能通
ping tdengine-serve03.loky.wang

2 下载TDengine-server

下载地址:https://docs.taosdata.com/get-started/package/

上传内容到服务器中

解压到指定目录:

1
tar -zxvf TDengine-server-3.2.3.0-Linux-x64.tar.gz -C /opt

3 安装TDengine-server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@tdengine-serve01 TDengine-server-3.2.3.0]# ./install.sh
Start to install TDengine...

System hostname is: tdengine-serve01.loky.wang Host name or IP (assigned to this machine) which can be accessed by your tools or apps (must not be 'localhost') : tdengine-serve01.loky.wang

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

Enter your email address for priority support or enter empty to skip:
Created symlink from /etc/systemd/system/multi-user.target.wants/taosd.service to /etc/systemd/system/taosd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/taosadapter.service to /etc/systemd/system/taosadapter.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/taoskeeper.service to /etc/systemd/system/taoskeeper.service.

To configure TDengine : edit /etc/taos/taos.cfg
To configure taosAdapter : edit /etc/taos/taosadapter.toml
To start TDengine : sudo systemctl start taosd
To start taosAdapter : sudo systemctl start taosadapter
To enable taoskeeper : sudo systemctl enable taoskeeper

TDengine is installed successfully! To access TDengine: taos -h tdengine-serve01.loky.wang

修改 TDengine 的配置文件(所有节点的文件 /etc/taos/taos.cfg 都需要修改)。

假设准备启动的第一个数据节点 End Point 为 h1.taosdata.com:6030,其与集群配置相关参数如下:

1
2
3
4
5
6
7
8
9
10
// firstEp 是每个数据节点首次启动后连接的第一个数据节点
firstEp tdengine-serve01.loky.wang:6030

// 必须配置为本数据节点的 FQDN,如果本机只有一个 hostname,可注释掉本项
fqdn tdengine-serve01.loky.wang
//fqdn tdengine-serve02.loky.wang
//fqdn tdengine-serve03.loky.wang

// 配置本数据节点的端口号,缺省是 6030
serverPort 6030

一定要修改的参数是 firstEp 和 fqdn。在每个数据节点,firstEp 需全部配置成一样,但 fqdn
一定要配置成其所在数据节点的值。其他参数可不做任何修改,除非你很清楚为什么要修改。

4 启动第一个服务

tdengine-serve01.loky.wang 所在服务器执行命令

1
2
3
4
5
# 启动taosd服务
systemctl start taosd;

# 查询taosd服务状态
systemctl status taosd;

将每个节点都进行启动

5 添加其他节点

在第一个数据节点,使用 CLI 程序 taos,登录进 TDengine 系统,执行命令:

1
2
CREATE DNODE "tdengine-serve02.loky.wang:6030";
CREATE DNODE "tdengine-serve03.loky.wang:6030";

此时集群节点添加完毕

6 集群管理

动态添加、删除数据节点

动态添加:

搭建服务,同上面教程一样进行配置

1
CREATE DNODE "tdengine-serve04.loky.wang:6030";

删除节点

根据节点的ID进行删除

1
drop dnode 4;

Vnode的高可用

vnode 的副本数是与 DB 关联的,一个集群里可以有多个 DB,根据运营的需求,每个 DB 可以配置不同的副本数。创建数据库时,通过参数
replica 指定副本数(缺省为 1)。

如果副本数为 1,系统的可靠性无法保证,只要数据所在的节点宕机,就将无法提供服务。集群的节点数必须大于等于副本数,否则创建表时将返回错误“more
dnodes are needed”。

CREATE DATABASE demo replica n;

Mnode的高可用

TDengine 集群是由 mnode(taosd 的一个模块,管理节点)负责管理的,为保证 mnode 的高可用,可以配置多个 mnode 副本,在集群启动时只有一个
mnode,用户可以通过

create mnode 来增加新的 mnode。用户可以通过该命令自主决定哪几个 dnode 会承担 mnode 的角色。为保证元数据的强一致性,在有多个
mnode 时,mnode 副本之间是通过同步的方式进行数据复制的。

create mnode on dnode 2;

create mnode on dnode 3;