TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)

已把真实 IP 和主机名全部替换成了示例值,重点保留这次真正有用的部署步骤、配置、验证和踩坑。下次换服务器,基本只需要替换 IP、主机名、安装路径。

一、部署说明

本文记录一次 TDengine TSDB-OSS 3.4.2.8 Community 三节点生产集群部署过程。

最终架构:

复制代码
TDengine:3 DNode
MNode:   3 个
业务库:  iot
副本数:  REPLICA 3
VGROUPS: 6

组件:
taosd
taosAdapter
taosKeeper
taosExplorer

示例服务器:

节点 IP FQDN
Node01 192.168.100.81 td01.example.com
Node02 192.168.100.82 td02.example.com
Node03 192.168.100.83 td03.example.com

本文中的 IP、主机名均为虚拟示例。


二、部署前检查

正式安装前不要直接解压安装包,先把三个节点的基础环境确认好。

1. 检查操作系统

服务端支持的平台列表https://docs.taosdata.com/operations-and-tooling/supported-platforms/

三台都执行:

复制代码
cat /etc/redhat-release
uname -r
uname -m
ldd --version | head -1

确认:

复制代码
操作系统版本
内核版本
CPU 架构 x86_64
glibc 版本

不同 TDengine 版本对操作系统、内核和 glibc 的要求可能不同,生产环境应提前按照对应版本官方兼容要求检查。


2. 检查服务器资源

复制代码
lscpu
free -h
df -h

重点确认:

复制代码
CPU
内存
Swap
系统盘
TDengine 数据盘

例如本次统一规划独立的:

复制代码
/app

作为 TDengine 安装及数据目录。

3.测试磁盘io

注:如果磁盘io低于150MB,需要客户找主机人员排查raid5的情况,如果磁盘io还是低,可以进行拆盘多挂载点。

复制代码
dd oflag=direct if=/dev/zero of=/home/diskdata1  bs=480k count=100000    
//写入测试,写入大于150M正常

dd if=/home/diskdata1 of=/dev/null bs=1M count=10000  
//读取测试大于150M正常

根据实际情况目录调整如下:
dd oflag=direct if=/dev/zero of=/app/diskdata1  bs=480k count=100000
dd if=/app/diskdata1 of=/dev/null bs=1M count=10000

dd oflag=direct if=/dev/zero of=/data/diskdata1  bs=480k count=100000
dd if=/data/diskdata1 of=/dev/null bs=1M count=10000

三、配置主机名

节点1:

复制代码
hostnamectl set-hostname td01.example.com

节点2:

复制代码
hostnamectl set-hostname td02.example.com

节点3:

复制代码
hostnamectl set-hostname td03.example.com

检查:

复制代码
hostname
hostname -f

例如节点1:

复制代码
td01.example.com

TDengine 集群部署时主机名/FQDN 非常重要,不建议三个节点主机名配置混乱。


四、配置 hosts

三个节点统一修改:

复制代码
vi /etc/hosts

加入:

复制代码
192.168.100.81 td01.example.com td01
192.168.100.82 td02.example.com td02
192.168.100.83 td03.example.com td03

验证:

复制代码
ping td01.example.com
ping td02.example.com
ping td03.example.com

同时检查:

复制代码
getent hosts td01.example.com
getent hosts td02.example.com
getent hosts td03.example.com

三个节点必须能够正确解析。


五、检查时间同步

数据库集群时间必须保持一致。

复制代码
timedatectl
systemctl status chronyd
chronyc tracking
chronyc sources -v

重点确认:

复制代码
chronyd 正常
系统时间正常
时区一致
三个节点时间基本同步

六、防火墙端口

网络端口要求https://docs.tdengine.com/operations-and-tooling/operations/planning/#network-port-requirements

生产环境保持 firewalld 开启,根据实际启用组件按需永久放行端口。本次 Community 三节点部署主要使用 6030/TCP、6041/TCP、6043/TCP、6060/TCP;6044~6049 为可选采集协议端口,6050/6055 为 taosX 相关端口,未启用对应功能时无需开放。

TDengine 可能涉及这些端口。

不等于:

所有 TDengine 节点必须永久开放所有这些端口。

本次部署涉及的核心端口:

端口 当前是否需要 你这套用途
6030/TCP 需要 taosd、DNode/MNode、原生连接、集群内部通信
6041/TCP 需要 taosAdapter,应用 JDBC-RS / WebSocket / REST
6043/TCP 需要 taosKeeper 监控上报
6060/TCP 需要 taosExplorer Web 页面
端口 用途
6030 taosd / TDengine 集群通信
6041 taosAdapter,JDBC-RS/REST/WebSocket
6043 taosKeeper
6060 taosExplorer Web

本次环境实际放行:

复制代码
firewall-cmd --permanent --add-port=6030/tcp
firewall-cmd --permanent --add-port=6041-6049/tcp
firewall-cmd --permanent --add-port=6044-6045/udp
firewall-cmd --permanent --add-port=6050/tcp
firewall-cmd --permanent --add-port=6055/tcp
firewall-cmd --permanent --add-port=6060/tcp

firewall-cmd --reload

检查:

复制代码
firewall-cmd --list-ports

[root@sxdb03 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2026-09-28 16:52:25 CST; 14h ago
     Docs: man:firewalld(1)
 Main PID: 909 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─909 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

9月 28 16:52:10 sxdb03.sjzt.cn systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 28 16:52:25 sxdb03.sjzt.cn systemd[1]: Started firewalld - dynamic firewall daemon.
9月 28 16:52:27 sxdb03.sjzt.cn firewalld[909]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future rel...ling it now.
Hint: Some lines were ellipsized, use -l to show in full.
[root@sxdb03 ~]# firewall-cmd --list-ports
61858/tcp 6030/tcp 6041-6049/tcp 6044-6045/udp 6050/tcp 6055/tcp 6060/tcp
[root@sxdb03 ~]# 

实际生产应根据启用的 TDengine 协议和组件精确开放端口。


七、系统资源检查

检查文件句柄:

复制代码
ulimit -n

检查进程数:

复制代码
ulimit -u

检查系统文件句柄:

复制代码
sysctl fs.file-max

检查本地端口范围:

复制代码
sysctl net.ipv4.ip_local_port_range

检查 taosd systemd 限制:

复制代码
systemctl show taosd | egrep 'LimitNOFILE|LimitNPROC|LimitCORE'

本次环境最终确认:

复制代码
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

八、规划目录

本次统一使用:

复制代码
/app/tdengine

目录规划:

复制代码
mkdir -p /app/tdengine/{server,data,log,tmp,core,dump,soft}

结构:

复制代码
/app/tdengine/
├── server     程序目录
├── data       数据目录
├── log        日志目录
├── tmp        临时目录
├── core       Core文件
├── dump       导入导出
└── soft       安装包

下次部署如果路径不同,只需要统一替换 /app/tdengine 即可。


九、下载安装包

版本功能对比-免费开源的 TDengine TSDB-OSS (社区版)和TDengine TSDB-Enterprise(企业版)。https://www.taosdata.com/feature-comparison#full-comparison-tableTDengine 下载中心https://www.taosdata.com/download-center?product=TDengine+TSDB-OSS&version=3.4.2.8&platform=Linux-Generic&architecture=x64

本文版本:

复制代码
TDengine TSDB-OSS 3.4.2.8 Community

安装包:

复制代码
tdengine-tsdb-oss-3.4.2.8-linux-x64.tar.gz

建议从 TDengine 官方下载对应 Linux x64 Community 安装包,然后上传至:

复制代码
/app/tdengine/soft

检查:

复制代码
cd /app/tdengine/soft
ls -lh

本次安装包 MD5:

复制代码
8127b24ef6b2fe2d5574c3639b4d2de6

校验:

复制代码
md5sum tdengine-tsdb-oss-3.4.2.8-linux-x64.tar.gz

生产安装前建议一定进行完整性校验。


十、解压 TDengine

复制代码
cd /app/tdengine/server

tar -zxvf /app/tdengine/soft/tdengine-tsdb-oss-3.4.2.8-linux-x64.tar.gz

进入安装目录:

复制代码
cd /app/tdengine/server/tdengine-tsdb-oss-3.4.2.8

十一、安装 TDengine

本次采用 TDengine TSDB-OSS 3.4.2.8 Community,实际部署 taosd、taosAdapter、taosKeeper、taosExplorer 四个常驻服务,同时使用 taosc/taos CLI 等客户端工具;taosX 与 taosX-Agent 属于 Enterprise 数据接入体系,本次 Community 环境未部署。

组件 主要作用 本次部署 Community / OSS Enterprise 专属 备注
taosd TDengine 核心数据库服务,承载 DNode、MNode、VNode ✅ ✅ ❌ 本次三台服务器均部署,核心端口 6030
taosc TDengine 原生客户端库,供客户端/其他组件连接 taosd ✅ 随包安装 ✅ ❌ 属于客户端库,不是独立常驻服务
taosAdapter REST、WebSocket、JDBC-RS 等应用接入适配层 ✅ ✅ ❌ 本次应用主要通过 6041 接入
taosKeeper 收集 TDengine 各组件监控指标并写入监控库 ✅ ✅ ❌ 本次运行在 6043,监控数据写入 log 库
taosExplorer Web 图形化管理界面 ✅ ✅ 免费提供 ❌ 本次 6060;从 3.3.0.0 起随官方安装包提供
taosX 零代码数据接入、数据管道等数据集成能力 ❌ ❌ ✅ Enterprise 核心组件
taosX-Agent 部署在数据源侧,帮助 taosX 接入 OPC、PI 等受网络限制的数据源 ❌ ❌ ✅ 与 taosX 配合使用,通常单独部署
TDinsight 基于 Grafana 的 TDengine 可视化监控方案 ❌ ✅ 可使用 ❌ 不是数据库核心常驻进程,本次未部署 Grafana/TDinsight

三个节点都执行:

复制代码
./install.sh -v server -e no -d /app/tdengine/server/taos

安装完成后程序位于类似:

复制代码
/app/tdengine/server/taos/taos/bin/

例如:

复制代码
taos
taosd
taosadapter
taoskeeper
taos-explorer
taosudf

验证:

复制代码
/app/tdengine/server/taos/taos/bin/taosd -V

版本:

复制代码
3.4.2.8.community

十二、配置 taos.cfg

主要配置文件:

复制代码
/etc/taos/taos.cfg

三个节点大部分参数一致。

Node01

复制代码
dataDir /app/tdengine/data
logDir /app/tdengine/log

firstEp td01.example.com:6030
fqdn td01.example.com

serverPort 6030
tempDir /app/tdengine/tmp

logKeepDays 30

Node02

只需要修改:

复制代码
firstEp td01.example.com:6030
fqdn td02.example.com

Node03

复制代码
firstEp td01.example.com:6030
fqdn td03.example.com

也就是说:

复制代码
firstEp

三个节点都指向首节点。

而:

复制代码
fqdn

必须是当前服务器自己的 FQDN。

检查:

复制代码
grep -Ev '^#|^$' /etc/taos/taos.cfg

一个小坑

安装程序可能已经自动写入部分 fqdn 配置。

修改时注意检查:

复制代码
grep -n 'fqdn' /etc/taos/taos.cfg

不要因为重复修改造成多个错误配置值。


十三、启动 taosd

先启动节点1:

复制代码
systemctl enable --now taosd

检查:

复制代码
systemctl status taosd

确认:

复制代码
active (running)

检查 6030:

复制代码
ss -lntp | grep 6030

随后启动 Node02、Node03:

复制代码
systemctl enable --now taosd

十四、创建 DNode

登录节点1:

复制代码
taos -u root -p

添加另外两个节点:

复制代码
CREATE DNODE "td02.example.com:6030";
CREATE DNODE "td03.example.com:6030";

查询:

复制代码
SHOW DNODES;

正常应看到:

复制代码
1 td01.example.com:6030 ready
2 td02.example.com:6030 ready
3 td03.example.com:6030 ready

核心判断:

复制代码
status = ready

十五、创建三个 MNode

第一个节点本身已经存在 MNode,再在节点2、节点3创建:

复制代码
CREATE MNODE ON DNODE 2;
CREATE MNODE ON DNODE 3;

查询:

复制代码
SHOW MNODES;

正常状态:

复制代码
1 个 leader
2 个 follower
全部 ready

例如:

复制代码
td01  leader
td02  follower
td03  follower

Leader 并不是固定的,发生节点重启或故障后可以自动重新选举。


十六、创建三副本业务库

本次生产环境为 3 台 TDengine 节点,每台服务器约:

复制代码
CPU:8 Core
内存:15 GB
TDengine 数据盘:约 200 GB

因此数据库参数没有完全采用默认值,而是综合考虑:

复制代码
三节点高可用
CPU / 内存资源
VGroup 数量
单节点内存占用
时序数据查询特点
数据保留周期
WAL可靠性

本文业务库:

复制代码
iot

最终使用:

复制代码
CREATE DATABASE `iot`
  VGROUPS 6
  REPLICA 3
  BUFFER 256
  CACHEMODEL 'both'
  CACHESIZE 5
  COMP 2
  DURATION 60d
  KEEP 3650d
  PRECISION 'ms'
  WAL_LEVEL 2
  WAL_FSYNC_PERIOD 3000
  WAL_RETENTION_PERIOD 3600;
参数 本次值 主要依据
VGROUPS 6 8核CPU、并行能力、VNode资源开销
REPLICA 3 3节点生产高可用
BUFFER 256MB 每节点约15GB内存,控制VNode内存
CACHEMODEL both 最新值/最新行查询场景
CACHESIZE 5MB 控制最新数据缓存内存
COMP 2 长期时序数据压缩存储
DURATION 60d 与10年KEEP配合,控制文件数量
KEEP 3650d 数据生命周期10年
PRECISION ms 业务毫秒级时间戳
WAL_LEVEL 2 生产数据可靠性
WAL_FSYNC_PERIOD 3000ms 可靠性与IO性能平衡
WAL_RETENTION_PERIOD 3600s WAL保留1小时

KEEP 3650d = 数据保留策略为10年,但并不代表当前每节点约200GB磁盘一定能容纳10年数据。正式运行后仍需根据实际日增量、压缩率和磁盘增长趋势进行容量评估及扩容。

查看:

复制代码
SHOW DATABASES;

检查副本:

复制代码
SHOW iot.VGROUPS;

重点关注:

复制代码
v1_status
v2_status
v3_status
is_ready
applied/committed

正常应该看到每个 VGroup:

复制代码
1 Leader
2 Follower
is_ready = true

例如:

复制代码
DNode1 follower
DNode2 follower
DNode3 leader

三副本并不是三个独立数据库。

本质上是:

复制代码
同一个 iot 数据库
        ↓
多个 VGroup
        ↓
每个 VGroup 保存 3 个副本
        ↓
1 Leader + 2 Follower

某一个节点故障后,剩余副本可以完成重新选主继续提供数据服务。


十七、创建业务账号

管理员:

复制代码
root

业务账号:

复制代码
CREATE USER appl_sjzt PASS '<PASSWORD>' SYSINFO 1;

监控账号:

复制代码
CREATE USER monitor_sjzt PASS '<PASSWORD>' SYSINFO 1;

密码不要写入部署文档。

查看:

复制代码
SHOW USERS;

Community 版注意事项

在 3.4.2.8 Community 实际测试中:

复制代码
GRANT ...

会提示该功能属于 Enterprise Edition。

因此 Community 版不要直接照搬企业版的细粒度授权方案,业务账号最终能执行哪些操作应在当前版本中实际验证。


十八、配置 taosAdapter

配置:

复制代码
/etc/taos/taosadapter.toml

本次只调整必要项。

将:

复制代码
debug = true

修改为:

复制代码
debug = false

命令:

复制代码
sed -i 's/^debug = true/debug = false/' /etc/taos/taosadapter.toml

启动:

复制代码
systemctl enable --now taosadapter

检查:

复制代码
systemctl status taosadapter

ss -lntp | grep 6041

正常:

复制代码
6041 LISTEN

6041 就是后续应用通过 JDBC-RS、REST、WebSocket 访问 TDengine 的重要入口。


十九、配置 taosKeeper

配置文件:

复制代码
/etc/taos/taoskeeper.toml

重点修改:

复制代码
[tdengine]
host = "127.0.0.1"
port = 6041
username = "monitor_sjzt"
password = "<MONITOR_PASSWORD>"
usessl = false

本次其他配置保持默认,例如:

复制代码
[metrics.database]
name = "log"
vgroups = 1
buffer = 64
keep = 90
cachemodel = "both"

其中:

复制代码
keep = 90

代表 Keeper 监控数据库数据保留时间。

保护配置文件:

复制代码
chmod 600 /etc/taos/taoskeeper.toml

启动:

复制代码
systemctl enable --now taoskeeper

检查:

复制代码
systemctl status taoskeeper

ss -lntp | grep 6043

Keeper 踩坑

如果出现:

复制代码
Authentication failure

第一时间检查:

复制代码
username
password
host
port

尤其是密码是否手工输入错误。

另外 TOML 配置文件不要出现:

复制代码
username = "xxx"
username = "yyy"

这种重复 Key,否则服务可能直接启动失败。


二十、配置 Explorer

Explorer 是 TDengine 的 Web 管理界面。

默认服务:

复制代码
taos-explorer

为了 Community 环境跳过注册,在:

复制代码
vi /etc/default/taos-explorer

加入:

复制代码
EXPLORER_SKIP_REGISTER=true

保存。

Explorer 配置文件:

复制代码
/etc/taos/explorer.toml

重点确认其 cluster 能连接本节点 taosAdapter,例如:

复制代码
cluster = "http://td01.example.com:6041"

Node02、Node03 对应自己的 FQDN 即可。

启动:

复制代码
systemctl enable --now taos-explorer

检查:

复制代码
systemctl status taos-explorer

检查端口:

复制代码
ss -lntp | grep 6060

浏览器访问:

复制代码
http://192.168.100.81:6060

其他两个节点:

复制代码
http://192.168.100.82:6060
http://192.168.100.83:6060

三个 Explorer 都连接的是同一个 TDengine 集群。


二十一、Explorer Connection refused 排查

本次部署时遇到过 Explorer 页面提示连接:

复制代码
:6041 Connection refused

原因并不是 Explorer 本身异常,而是:

复制代码
taosExplorer
      ↓
taosAdapter:6041

Explorer 依赖 taosAdapter。

所以先检查:

复制代码
systemctl status taosadapter
ss -lntp | grep 6041

taosAdapter 正常后,再重启 Explorer:

复制代码
systemctl restart taos-explorer

最终即可正常网页登录。

这个坑比较容易误判。


二十二、统一启动四个服务

TDengine 安装完成后会创建相关 systemd 服务,安装后应统一检查服务是否已启用开机自启动;若未启用,则使用 systemctl enable 手工启用。

三台服务器最终都应该(如果没有自启动,直接这样加):

复制代码
# 设置开机自启动并立即启动
systemctl enable --now taosd
systemctl enable --now taosadapter
systemctl enable --now taoskeeper
systemctl enable --now taos-explorer

# 检查开机自启动状态
systemctl is-enabled taosd taosadapter taoskeeper taos-explorer

# 检查运行状态
systemctl is-active taosd taosadapter taoskeeper taos-explorer

检查:

复制代码
systemctl is-enabled taosd
systemctl is-enabled taosadapter
systemctl is-enabled taoskeeper
systemctl is-enabled taos-explorer

正常:

复制代码
enabled
enabled
enabled
enabled

检查运行状态:

复制代码
systemctl is-active taosd taosadapter taoskeeper taos-explorer

正常:

复制代码
active
active
active
active

端口统一检查:

复制代码
ss -lntp | egrep '6030|6041|6043|6060'

二十三、集群最终检查

登录任意节点:

复制代码
taos -u root -p

执行:

复制代码
SHOW DATABASES;

SHOW DNODES;

SHOW MNODES;

SHOW iot.VGROUPS;

验收标准:

复制代码
3 个 DNode 全部 ready

3 个 MNode 全部 ready
1 Leader + 2 Follower

iot 6 个 VGroup

每个 VGroup:
3 个副本
1 Leader + 2 Follower
is_ready = true
applied/committed 正常

二十四、滚动重启验证

数据库部署完成后,生产环境非常建议做一次节点滚动重启测试。

原则:

一次只重启一个节点,前一个完全恢复后再重启下一个。

例如:

复制代码
Node01
  ↓
恢复 ready
  ↓
Node02
  ↓
恢复 ready
  ↓
Node03

每台启动后检查:

复制代码
uptime

systemctl is-active taosd taosadapter taoskeeper taos-explorer

ss -lntp | egrep '6030|6041|6043|6060'

然后:

复制代码
SHOW DNODES;
SHOW MNODES;
SHOW iot.VGROUPS;

本次实际测试中,重启前 MNode Leader 位于 Node03。

Node03 重启后:

复制代码
Node01 自动成为 Leader
Node02 Follower
Node03 恢复后成为 Follower

说明 MNode 自动选主工作正常。

这一步非常有价值,因为它真正验证了:

复制代码
服务开机自启动
DNode 自动重新加入
MNode 自动重新选主
副本自动恢复

二十五、应用如何连接

应用使用:

复制代码
taosAdapter : 6041

JDBC Driver:

复制代码
com.taosdata.jdbc.rs.RestfulDriver

没有配置 VIP 时,可以先使用任意一个 taosAdapter 节点,例如:

复制代码
jdbc:TAOS-RS://192.168.100.81:6041/iot?timezone=Asia/Beijing&charset=UTF-8&httpPoolSize=500

注意:

应用连接 Node01:

复制代码
应用
 ↓
Node01:6041
 ↓
taosAdapter
 ↓
TDengine 整个集群

并不是数据只写 Node01。

真正的数据副本、Leader、Follower 由 TDengine 自己管理。


二十六、三副本与 VIP 的区别

这个概念部署完成后一定要搞清楚。

三副本

负责:

复制代码
数据库数据层高可用

例如:

复制代码
Node01 Follower
Node02 Follower
Node03 Leader

Node03 故障后,剩余副本重新选 Leader。

这属于:

复制代码
TDengine 内部机制

不涉及数据库 IP 漂移。


Nginx / VIP

解决的是:

复制代码
应用入口高可用

当前:

复制代码
应用
 ↓
192.168.100.81:6041

如果 Node01 整台服务器故障,那么 TDengine 数据库集群可能仍然正常,但应用连接地址已经不可达。

后续可以设计:

复制代码
                  应用
                   │
                   ▼
               VIP:6041
                   │
             Nginx / LB
          ┌────────┼────────┐
          ↓        ↓        ↓
       81:6041  82:6041  83:6041
          │        │        │
          └────────┼────────┘
                   ↓
            TDengine 集群

所以一句话总结:

TDengine 三副本解决数据库数据层高可用,Nginx + VIP 解决应用接入层高可用。


二十七、常用巡检命令

服务状态

复制代码
systemctl status taosd
systemctl status taosadapter
systemctl status taoskeeper
systemctl status taos-explorer

或者:

复制代码
systemctl is-active taosd taosadapter taoskeeper taos-explorer

端口

复制代码
ss -lntp | egrep '6030|6041|6043|6060'

进程

复制代码
ps -ef | grep taos

正常通常可以看到:

复制代码
taosd
taosudf
taosadapter
taoskeeper
taos-explorer

集群节点

复制代码
SHOW DNODES;

MNode

复制代码
SHOW MNODES;

数据库

复制代码
SHOW DATABASES;

三副本

复制代码
SHOW iot.VGROUPS;

用户

复制代码
SHOW USERS;

二十八、最终目录速查

复制代码
程序:
/app/tdengine/server/taos

数据:
/app/tdengine/data

数据库日志:
/app/tdengine/log

临时目录:
/app/tdengine/tmp

安装包:
/app/tdengine/soft

主要配置:

复制代码
/etc/taos/taos.cfg
/etc/taos/taosadapter.toml
/etc/taos/taoskeeper.toml
/etc/taos/explorer.toml
/etc/default/taos-explorer

主要服务:

复制代码
taosd
taosadapter
taoskeeper
taos-explorer

核心端口:

复制代码
6030  taosd
6041  taosAdapter
6043  taosKeeper
6060  taosExplorer

二十九、下次快速部署顺序

以后再部署一套,其实记住下面这条主线就可以:

复制代码
1. 检查 OS / CPU / 内存 / 磁盘
        ↓
2. 配置 hostname
        ↓
3. 配置 /etc/hosts
        ↓
4. 检查时间同步
        ↓
5. 检查防火墙和系统资源
        ↓
6. 创建 TDengine 目录
        ↓
7. 上传并校验安装包
        ↓
8. 三节点安装 TDengine
        ↓
9. 修改 taos.cfg
        ↓
10. 启动三个 taosd
        ↓
11. CREATE DNODE
        ↓
12. CREATE MNODE
        ↓
13. 创建 REPLICA 3 数据库
        ↓
14. 创建业务/监控用户
        ↓
15. 配置 taosAdapter
        ↓
16. 配置 taosKeeper
        ↓
17. 配置 taosExplorer
        ↓
18. 检查 6030/6041/6043/6060
        ↓
19. SHOW DNODES / MNODES / VGROUPS
        ↓
20. 三节点滚动重启验证
        ↓
21. 应用连接 6041
        ↓
22. 后续补 Nginx / VIP

三十、总结

这次部署最值得掌握的不是单纯把 TDengine 安装起来,而是把整个架构关系理顺了:

复制代码
DNode
= TDengine 数据节点

MNode
= 集群管理节点

VGroup
= 数据分片单元

REPLICA 3
= 每个 VGroup 三副本

Leader / Follower
= TDengine 内部副本选主机制

taosAdapter 6041
= 应用访问入口

taosKeeper
= TDengine 监控组件

taosExplorer 6060
= Web 管理界面

Nginx / VIP
= 应用入口高可用

三副本本身已经实现数据库数据层的高可用:

复制代码
单节点故障
   ↓
剩余两个副本继续工作
   ↓
重新选举 Leader
   ↓
故障节点恢复
   ↓
副本重新追平

而 Nginx/VIP 是后续进一步解决 应用连接入口单点。

这样,下次再部署 TDengine 三节点三副本环境,即使安装路径、IP、主机名发生变化,整个部署思路基本不变。

相关推荐
梦帮科技1 小时前
领域认知知识库图谱注入:从双式记账图网络到高质量问答对自动化合成流水线
运维·网络·数据库·人工智能·矩阵·架构·自动化
Long long ago.1 小时前
vastbase数据库运行sql宕机重启解决
数据库·sql
向成科技2 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
逐流人2 小时前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
海宇服务2 小时前
零信任架构实战:基于海宇车型识别精准构建自动化定损网关
运维·人工智能·架构·自动化
SelectDB技术团队2 小时前
一条日志两套引擎的账:把 Elasticsearch 检索与分析合并到同一份数据的落地写法
大数据·数据库·elasticsearch·搜索引擎·全文检索·日志·apache doris
数据库百宝箱2 小时前
rum&gin索引对比
java·数据库·gin
大大大大晴天2 小时前
每天认识一个组件:远端数据服务Apache Celeborn
大数据
Fcy6482 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程