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;如下图所示,自动推举其他节点为主节点则说明三副本方案搭建成功

相关推荐
微三云 - 廖会灵 (私域系统开发)1 小时前
智慧社区 B 端深度剖析:消费返物业费 2.0,权益循环系统的业务、架构与避坑实践
大数据·架构
一招合理1 小时前
大数据如何重塑企业风险管控
大数据
苦猿的大模型日记2 小时前
Day65|从0学习 Claude Code(十五):Harness 集成,14 章的零件装回同一台车
大数据
对象存储与RustFS3 小时前
自建对象存储的第一个决定:单机就够,还是必须上分布式
后端·rust·开源
Leo.yuan3 小时前
Agent化分析加速成形:FineBI AI原生技术架构落地,推动AI+BI分析范式跃迁
大数据·人工智能
YH行业报告分析3 小时前
2026商用鸡蛋分级机深度分析:AI视觉分拣如何驱动蛋品加工智能化升级?
大数据·科技·智能
DolphinDB智臾科技3 小时前
插件上新 | 让 Excel 数据更顺畅地接入 DolphinDB
大数据·excel
云安全助手4 小时前
自建接入VS聚合平台:企业 AI 调用的选型思路与迁移成本拆解
java·大数据·数据库·人工智能·ai大模型
Gu_WenYun4 小时前
从全面普涨到双轨分化,如何用基金布局存储芯片?
大数据·人工智能·业界资讯
分布式存储与RustFS4 小时前
在 Kubernetes 里跑对象存储的三个方案:Helm、Operator、以及什么时候别用 K8s
运维·云原生·开源·对象存储·分布式存储·s3·性能基准