1 准备三台机器
规划集群所有物理节点的 FQDN,将规划好的 FQDN 分别添加到每个物理节点的 /etc/hosts;修改每个物理节点的 /etc/hosts,将所有集群物理节点的 IP 与 FQDN 的对应添加好。
例如:
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/
上传内容到服务器中
解压到指定目录:
tar -zxvf TDengine-server-3.2.3.0-Linux-x64.tar.gz -C /opt
3 安装TDengine-server
[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,其与集群配置相关参数如下:
// 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 所在服务器执行命令
# 启动taosd服务
systemctl start taosd;
# 查询taosd服务状态
systemctl status taosd;
将每个节点都进行启动
5 添加其他节点
在第一个数据节点,使用 CLI 程序 taos,登录进 TDengine 系统,执行命令:
CREATE DNODE "tdengine-serve02.loky.wang:6030";
CREATE DNODE "tdengine-serve03.loky.wang:6030";
此时集群节点添加完毕
6 集群管理
动态添加、删除数据节点
动态添加:
搭建服务,同上面教程一样进行配置
CREATE DNODE "tdengine-serve04.loky.wang:6030";
删除节点
根据节点的ID进行删除
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;