TDEngine-OSS-3.3.7.5开源版搭建手册(包含单节点与三副本高可用方案搭建)

包含单节点与三副本方案

单节点请看第1章节即可,三副本方案请看全部

针对高可用方案:开源版本仅支持三副本方案,各种高可用方案对比如下

# 三副本 双副本(企业版) 双活(企业版)
集群数目 部署一个集群 部署一个集群 部署两个不同集群
最小节点数 三个数据节点 两个数据节点,一个仲裁节点 两个数据节点
选主原理 Raft 协议 管理节点中仲裁选主 无需选主
同步原理 Raft 协议 Raft 协议 通过 taosX 进行数据同步
同步延迟 无延迟 无延迟 依赖于 taosX 的同步速度,秒级延迟
数据安全性 无数据丢失 无数据丢失 依赖于 WAL 的保存时长
数据一致性 RAFT 一致性 RAFT 一致性 最终一致性
高可用性 任一节点宕机不影响服务 任一节点宕机不影响服务,但不能处理连续宕机场景 一个实例存活即可提供服务

企业版区别如下,可酌情选择是否购买


网络端口开放情况和服务器所需资源要求请见官网

1 单节点搭建(也是三副本方案主节点搭建方案)

1-1 下载安装包

powershell 复制代码
# 创建文件夹并下载涛思压缩包、解压
mkdir /root/TDinstall-v3.3.7.5 && cd /root/TDinstall-v3.3.7.5 && wget https://downloads.taosdata.com/tdengine-tsdb-oss/3.3.7.5/tdengine-tsdb-oss-3.3.7.5-linux-x64.tar.gz && tar -zxvf tdengine-tsdb-oss-3.3.7.5-linux-x64.tar.gz

1-2 安装涛思基本环境

执行后无特殊配置,一直enter即可

shell 复制代码
/root/TDinstall-v3.3.7.5/tdengine-tsdb-oss-3.3.7.5/install.sh

1-3 执行脚本配置基础信息,路径可自行更改

shell 复制代码
cd /etc/taos
# 日志保存路径、保留时长
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' taosadapter.toml
sed -i 's/keepDays = 30/keepDays = 10/g' taosadapter.toml
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' taoskeeper.toml
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' explorer.toml
sed -i 's/# keepDays = 30/keepDays = 10/g' explorer.toml
# 用户名、密码更改-自行判断是否需要更改
#sed -i 's/username = "root"/username = "admin"/g' taoskeeper.toml
#sed -i 's/password = "taosdata"/password = "hello_world"/g' taoskeeper.toml
sed -i 's/keepDays = 30/keepDays = 10/g' taoskeeper.toml
# 实例id更改,三副本方案必须更改
sed -i 's/# instanceId = 1/instanceId = 2/g' explorer.toml
sed -i 's/instanceId = 32/instanceId = 102/g' taosadapter.toml
sed -i 's/instanceId = 64/instanceId = 152/g' taoskeeper.toml
grep '^instanceId' *

1-4 涛思配置文件更改

日志和数据目录自行配置,fqdn为当前主机的hostname,hostname不可为localhost,如果为localhost需要先配置为node1(自定义,与下面fqdn相同)命令:hostname set-hostname node1

备份配置文件并将下面的配置放入配置中:mv /etc/taos/taos.cfg /etc/taos/taos.cfg.bak && vim /etc/taos/taos.cfg

shell 复制代码
#firstEp                    node1:6030
#secondEp                   node2:6030
fqdn                       node1
#supportVnodes               96
logDir                     /data/taos/log
dataDir                    /data/taos/data
tempDir                    /data/taos/tmp
keepColumnName              1
maxNumOfDistinctRes         10000000
timezone                    UTC-8
locale                      en_US.UTF-8
charset                     UTF-8
maxShellConns               100000
maxConnections              100000
audit                       0
auditFqdn                   localhost
monitor                     1
monitorFqdn                 localhost
logKeepDays                 10
debugflag                   131
shellActivityTimer          120
numOfRpcSessions            30000
numOfCommitThreads          16
#numOfVnodeQueryThreads      80
queryUseMemoryPool          0
forceReadConfig             1

1-5 创建涛思相关目录并配置相关参数

将下面脚本保存为文件并执行

shell 复制代码
#!/bin/bash
# 创建目录
mkdir -p /data/taos/{data,log,core,tmp,soft,dump}
chmod 777 /data/taos/log
chmod 777 /data/taos/tmp

# 资源限制
echo "fs.nr_open = 2147483584" >>/etc/sysctl.conf
echo "fs.file-max = 2147483584" >>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 10000 65534" >>/etc/sysctl.conf

echo "* soft nproc  65536" >>/etc/security/limits.conf
echo "* soft nofile 1048576" >>/etc/security/limits.conf
echo "* soft stack  65536" >>/etc/security/limits.conf
echo "* hard nproc  65536" >>/etc/security/limits.conf
echo "* hard nofile 1048576" >>/etc/security/limits.conf
echo "* hard stack  65536" >>/etc/security/limits.conf

echo "root soft nproc  65536" >>/etc/security/limits.conf
echo "root soft nofile 1048576" >>/etc/security/limits.conf
echo "root soft stack  65536" >>/etc/security/limits.conf
echo "root hard nproc  65536" >>/etc/security/limits.conf
echo "root hard nofile 1048576" >>/etc/security/limits.conf
echo "root hard stack  65536" >>/etc/security/limits.conf
# 设置core目录
echo "ulimit -c unlimited" >>/etc/profile
echo "kernel.core_pattern=/data/taos/core/core-%e-%p" >>/etc/sysctl.conf

# 关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 关闭防火墙(云服务器请至少开放6060、6030、6041端口)
systemctl stop firewalld
systemctl disable firewalld

1-6 启动涛思程序

执行命令/root/TDinstall-v3.3.7.5/tdengine-tsdb-oss-3.3.7.5/start-all.sh

2 节点2搭建(三副本方案,单节点执行以上操作即可)

2-1 下载安装包

powershell 复制代码
# 创建文件夹并下载涛思压缩包、解压
mkdir /root/TDinstall-v3.3.7.5 && cd /root/TDinstall-v3.3.7.5 && wget https://downloads.taosdata.com/tdengine-tsdb-oss/3.3.7.5/tdengine-tsdb-oss-3.3.7.5-linux-x64.tar.gz && tar -zxvf tdengine-tsdb-oss-3.3.7.5-linux-x64.tar.gz

2-2 安装涛思基本环境(与单节点不同)

执行后无特殊配置,弹框配置fqdn要求时,输入node1:6030(主节点的hostname加6030端口)

shell 复制代码
/root/TDinstall-v3.3.7.5/tdengine-tsdb-oss-3.3.7.5/install.sh

2-3 执行脚本配置基础信息,路径可自行更改(注意实例id不能与其他实例相同)

shell 复制代码
cd /etc/taos
# 日志保存路径、保留时长
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' taosadapter.toml
sed -i 's/keepDays = 30/keepDays = 10/g' taosadapter.toml
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' taoskeeper.toml
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' explorer.toml
sed -i 's/# keepDays = 30/keepDays = 10/g' explorer.toml
# 用户名、密码更改-自行判断是否需要更改
#sed -i 's/username = "root"/username = "admin"/g' taoskeeper.toml
#sed -i 's/password = "taosdata"/password = "hello_world"/g' taoskeeper.toml
sed -i 's/keepDays = 30/keepDays = 10/g' taoskeeper.toml
# 实例id更改,与节点一搭建的实例id不能相同
sed -i 's/# instanceId = 1/instanceId = 3/g' explorer.toml
sed -i 's/instanceId = 32/instanceId = 103/g' taosadapter.toml
sed -i 's/instanceId = 64/instanceId = 153/g' taoskeeper.toml
grep '^instanceId' *

2-4 涛思配置文件更改

日志和数据目录自行配置,fqdn为当前主机的hostname,hostname不可为localhost,如果为localhost需要先配置为node2(自定义,与下面fqdn相同)命令:hostname set-hostname node2

备份配置文件并将下面的配置放入配置中:mv /etc/taos/taos.cfg /etc/taos/taos.cfg.bak && vim /etc/taos/taos.cfg

shell 复制代码
firstEp                    node1:6030
secondEp                   node2:6030
fqdn                       node2
#supportVnodes               96
logDir                     /data/taos/log
dataDir                    /data/taos/data
tempDir                    /data/taos/tmp
keepColumnName              1
maxNumOfDistinctRes         10000000
timezone                    UTC-8
locale                      en_US.UTF-8
charset                     UTF-8
maxShellConns               100000
maxConnections              100000
audit                       0
auditFqdn                   localhost
monitor                     1
monitorFqdn                 localhost
logKeepDays                 10
debugflag                   131
shellActivityTimer          120
numOfRpcSessions            30000
numOfCommitThreads          16
#numOfVnodeQueryThreads      80
queryUseMemoryPool          0
forceReadConfig             1

2-5 创建涛思相关目录并配置相关参数

将下面脚本保存为文件并执行

shell 复制代码
#!/bin/bash
# 创建目录
mkdir -p /data/taos/{data,log,core,tmp,soft,dump}
chmod 777 /data/taos/log
chmod 777 /data/taos/tmp

# 资源限制
echo "fs.nr_open = 2147483584" >>/etc/sysctl.conf
echo "fs.file-max = 2147483584" >>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 10000 65534" >>/etc/sysctl.conf

echo "* soft nproc  65536" >>/etc/security/limits.conf
echo "* soft nofile 1048576" >>/etc/security/limits.conf
echo "* soft stack  65536" >>/etc/security/limits.conf
echo "* hard nproc  65536" >>/etc/security/limits.conf
echo "* hard nofile 1048576" >>/etc/security/limits.conf
echo "* hard stack  65536" >>/etc/security/limits.conf

echo "root soft nproc  65536" >>/etc/security/limits.conf
echo "root soft nofile 1048576" >>/etc/security/limits.conf
echo "root soft stack  65536" >>/etc/security/limits.conf
echo "root hard nproc  65536" >>/etc/security/limits.conf
echo "root hard nofile 1048576" >>/etc/security/limits.conf
echo "root hard stack  65536" >>/etc/security/limits.conf
# 设置core目录
echo "ulimit -c unlimited" >>/etc/profile
echo "kernel.core_pattern=/data/taos/core/core-%e-%p" >>/etc/sysctl.conf

# 关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 关闭防火墙(云服务器请至少开放6060、6030、6041端口)
systemctl stop firewalld
systemctl disable firewalld

2-6 启动涛思程序

执行命令/root/TDinstall-v3.3.7.5/tdengine-tsdb-oss-3.3.7.5/start-all.sh

3 节点3搭建(三副本方案,单节点执行以上操作即可)

3-1 下载安装包

powershell 复制代码
# 创建文件夹并下载涛思压缩包、解压
mkdir /root/TDinstall-v3.3.7.5 && cd /root/TDinstall-v3.3.7.5 && wget https://downloads.taosdata.com/tdengine-tsdb-oss/3.3.7.5/tdengine-tsdb-oss-3.3.7.5-linux-x64.tar.gz && tar -zxvf tdengine-tsdb-oss-3.3.7.5-linux-x64.tar.gz

3-2 安装涛思基本环境(与单节点不同)

执行后无特殊配置,弹框配置fqdn要求时,输入node1:6030(主节点的hostname加6030端口)

shell 复制代码
/root/TDinstall-v3.3.7.5/tdengine-tsdb-oss-3.3.7.5/install.sh

3-3 执行脚本配置基础信息,路径可自行更改(注意实例id不能与其他实例相同)

shell 复制代码
cd /etc/taos
# 日志保存路径、保留时长
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' taosadapter.toml
sed -i 's/keepDays = 30/keepDays = 10/g' taosadapter.toml
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' taoskeeper.toml
sed -i 's/# path = "\/var\/log\/taos"/path = "\/data\/taos\/log"/g' explorer.toml
sed -i 's/# keepDays = 30/keepDays = 10/g' explorer.toml
# 用户名、密码更改-自行判断是否需要更改
#sed -i 's/username = "root"/username = "admin"/g' taoskeeper.toml
#sed -i 's/password = "taosdata"/password = "hello_world"/g' taoskeeper.toml
sed -i 's/keepDays = 30/keepDays = 10/g' taoskeeper.toml
# 实例id更改,与其他搭建的实例id不能相同
sed -i 's/# instanceId = 1/instanceId = 4/g' explorer.toml
sed -i 's/instanceId = 32/instanceId = 104/g' taosadapter.toml
sed -i 's/instanceId = 64/instanceId = 154/g' taoskeeper.toml
grep '^instanceId' *

3-4 涛思配置文件更改

日志和数据目录自行配置,fqdn为当前主机的hostname,hostname不可为localhost,如果为localhost需要先配置为node3(自定义,与下面fqdn相同)命令:hostname set-hostname node3

备份配置文件并将下面的配置放入配置中:mv /etc/taos/taos.cfg /etc/taos/taos.cfg.bak && vim /etc/taos/taos.cfg

shell 复制代码
firstEp                    node1:6030
# 配置备用节点的endpoint
secondEp                   node2:6030
fqdn                       node3
#supportVnodes               96
logDir                     /data/taos/log
dataDir                    /data/taos/data
tempDir                    /data/taos/tmp
keepColumnName              1
maxNumOfDistinctRes         10000000
timezone                    UTC-8
locale                      en_US.UTF-8
charset                     UTF-8
maxShellConns               100000
maxConnections              100000
audit                       0
auditFqdn                   localhost
monitor                     1
monitorFqdn                 localhost
logKeepDays                 10
debugflag                   131
shellActivityTimer          120
numOfRpcSessions            30000
numOfCommitThreads          16
#numOfVnodeQueryThreads      80
queryUseMemoryPool          0
forceReadConfig             1

3-5 创建涛思相关目录并配置相关参数

将下面脚本保存为文件并执行

shell 复制代码
#!/bin/bash
# 创建目录
mkdir -p /data/taos/{data,log,core,tmp,soft,dump}
chmod 777 /data/taos/log
chmod 777 /data/taos/tmp

# 资源限制
echo "fs.nr_open = 2147483584" >>/etc/sysctl.conf
echo "fs.file-max = 2147483584" >>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 10000 65534" >>/etc/sysctl.conf

echo "* soft nproc  65536" >>/etc/security/limits.conf
echo "* soft nofile 1048576" >>/etc/security/limits.conf
echo "* soft stack  65536" >>/etc/security/limits.conf
echo "* hard nproc  65536" >>/etc/security/limits.conf
echo "* hard nofile 1048576" >>/etc/security/limits.conf
echo "* hard stack  65536" >>/etc/security/limits.conf

echo "root soft nproc  65536" >>/etc/security/limits.conf
echo "root soft nofile 1048576" >>/etc/security/limits.conf
echo "root soft stack  65536" >>/etc/security/limits.conf
echo "root hard nproc  65536" >>/etc/security/limits.conf
echo "root hard nofile 1048576" >>/etc/security/limits.conf
echo "root hard stack  65536" >>/etc/security/limits.conf
# 设置core目录
echo "ulimit -c unlimited" >>/etc/profile
echo "kernel.core_pattern=/data/taos/core/core-%e-%p" >>/etc/sysctl.conf

# 关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 关闭防火墙(云服务器请至少开放6060、6030、6041端口)
systemctl stop firewalld
systemctl disable firewalld

3-6 启动涛思程序

执行命令/root/TDinstall-v3.3.7.5/tdengine-tsdb-oss-3.3.7.5/start-all.sh

三副本数据节点和主从节点配置

图一

图二

shell 复制代码
taos
create dnode "node2:6030";
create dnode "node3:6030";
show dnodes;
# 下面的2和3分别对应 show dnodes; 查询出来的node2和node3对应的id,如上图一所示
create mnode on dnode 2;
create mnode on dnode 3;
# 执行下面命令查看割接点主从状态,如图二
show mnodes;
create database test_3_replica replica 3 vgroups 1 buffer 1024;

如果执行完成后各数据节点为ready状态,停掉主节点等待一会儿重新执行show mnodes;如下图所示,自动推举其他节点为主节点则说明三副本方案搭建成功

相关推荐
草梅友仁2 小时前
草梅 Auth 1.11.0 发布与 GitHub 依赖安全更新 | 2025 年第 45 周草梅周报
开源·github·ai编程
TTBIGDATA2 小时前
【Ambari开启Kerberos】KERBEROS SERVICE CHECK 报错
大数据·运维·hadoop·ambari·cdh·bigtop·ttbigdata
涛思数据(TDengine)3 小时前
工业时序数据库TDengine 架构、性能与实战全解析
时序数据库·实时数据库·工业数据库
开利网络3 小时前
合规底线:健康产品营销的红线与避坑指南
大数据·前端·人工智能·云计算·1024程序员节
Lucky小小吴3 小时前
开源项目5——Go版本快速管理工具
开发语言·golang·开源
非著名架构师3 小时前
量化“天气风险”:金融与保险机构如何利用气候大数据实现精准定价与投资决策
大数据·人工智能·新能源风光提高精度·疾风气象大模型4.0
Hello.Reader3 小时前
用 CdcUp CLI 一键搭好 Flink CDC 演练环境
大数据·flink
熙梦数字化4 小时前
2025汽车零部件行业数字化转型落地方案
大数据·人工智能·汽车
Hello.Reader4 小时前
Flink CDC「Data Pipeline」定义与参数速查
大数据·flink
升鲜宝供应链及收银系统源代码服务5 小时前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统