TDengine 安装前预配置工具 taospreset 完全指南:一键完成集群环境就绪
2026/9/13 8:46:46 网站建设 项目流程

TDengine 安装前预配置工具 taospreset 完全指南:一键完成集群环境就绪

【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine

taospreset是 TDengine 运维工具集中负责"环境就绪"的预配置工具:在正式安装 TDengine 之前,它可以对单台主机或集群中的全部主机完成时区、防火墙、SELinux、内核参数、coredump、主机名与域名解析等系统级预配置。本文将以 英文官方文档 与 中文官方文档 为主体,结合工具集总览中的平台与前置要求,完整讲解该工具的命令行参数、配置文件格式、预配置范围与实际用法,帮助你在安装 TDengine 前将环境一次性调整到可部署状态。

工具定位:安装链路中的"预配置"环节

在 TDengine 的部署准备链路中,官方提供的检查工具集包含多个成员,其中与 taospreset 直接相关的有:

工具职责
taosprecheck安装前检查:主机与集群是否满足安装前提
taospreset安装前预配置:应用安装所需的操作系统级设置
taosinstall安装或升级:在单机或集群上安装/升级 TDengine
taosinspect运行期巡检:例行检查环境与 TDengine 健康状况

完整的工具列表与说明见 Inspection Tools 总览。

从职责划分看,taosprecheck负责"发现问题",taospreset负责"解决问题",taosinstall负责"落地安装"。三者在部署流程中形成检查 → 预配置 → 安装的递进关系,而 taospreset 正是介于检查与安装之间的关键一步。

适用前提

根据 Inspection Tools 总览 的说明,使用 taospreset 需要注意以下适用前提与限制:

  • 许可证:该工具集目前仅对 TDengine Enterprise(企业版)用户开放;
  • 版本要求:需要 TDengine v3.1 或更高版本;
  • 运行权限:需要以root身份运行,或使用具有sudo权限的账号;
  • SSH 互通:若要在多节点集群上批量预配置,需要节点间开启 SSH;否则只能在每个节点上以 local 模式分别运行;
  • 平台验证范围:工具集已在 Kylin V10、Ubuntu 20.04.2、CentOS 7.9、LinxOS 6.0.99、openEuler 23.09、Debian 12 上验证;在其他平台或版本上使用前请联系交付人员确认。

命令行用法与参数详解

taospreset 支持通过-h/--help查看完整语法,其命令行接口如下:

usage: taospreset [-h] [--model {local,ssh}] [--config CONFIG] [--backend] [--disable-kysec] [--result RESULT] [--version] [--log-level {debug,info}]

各参数的含义与默认行为如下表所示:

选项说明默认值
-m,--model预配置运行模式:local(仅配置当前主机)或ssh(通过 SSH 依次配置所有配置文件中定义的主机)local
-f,--config配置文件的全路径;不指定时默认从工具运行当前目录加载当前目录
-b,--backend后台运行预配置工具,默认为前台运行前台
-d,--disable-kysec关闭 Kylin Linux 上的 KySec 安全框架False
-r,--result预配置结果报告的输出目录;不指定时输出到工具运行当前目录当前目录
-l,--log-level日志级别:debuginfoinfo
-v,--version打印工具版本信息-

两种运行模式的选择

  • ssh 模式:当多节点环境之间支持 SSH 通信时,在任意一个节点上运行taospreset -m ssh,工具会依次对所有配置文件中的节点完成预配置操作。该模式适合标准的集群部署场景,只需在一台机器上发起即可。
  • local 模式:当节点间不支持 SSH 通信时,使用taospreset(默认即为 local 模式),工具仅对运行所在的这台机器执行预配置。此时需要登录每个节点分别执行。

KySec 与麒麟系统安全框架

--disable-kysec参数用于关闭 Kylin Security(KySec)服务。KySec 是麒麟系统的安全模块框架,功能上类似于 SELinux、AppArmor、Trusted Computing 的集合体,主要用于增强系统安全性。在麒麟(Kylin)操作系统上部署 TDengine 时,如果 KySec 对 TDengine 所需的进程、文件或端口访问形成限制,可通过该参数在预配置阶段一并关闭。

配置文件详解

taospreset 的配置文件格式与taosprecheck(安装前检查工具,见 01-taosprecheck.md)共享。也就是说,同一份环境描述配置既可以用于检查,也可以用于预配置,减少了部署脚本中维护两份配置的成本。配置文件采用 INI 风格,通过[section]分段组织,段内每一项对应一类预配置动作。

以下是一份完整的配置示例(覆盖节点信息、时区、服务状态、coredump 与系统参数):

# 安装部署 TDengine 的环境信息,支持免密登录和 SSH 登录两种方式; # 当环境配置了免密登录后,可以不配置 password 信息 [test_env] # 节点间通过 SSH 协议访问 firstep=192.168.0.1||fqdn=tdengine1||username=root||password=123456||port=22 secondep=192.168.0.2||fqdn=tdengine2||username=root||password=123456||port=22 dnode3=192.168.0.3||fqdn=tdengine3||username=root||password=123456||port=22 # 节点间配置免密登录(省略 password 字段) # firstep=192.168.0.1||fqdn=tdengine1||username=root||port=22 # secondep=192.168.0.2||fqdn=tdengine2||username=root||port=22 # dnode3=192.168.0.3||fqdn=tdengine3||username=root||port=22 # 系统时区:工具会按照下面的配置修改系统时区 [timezone] tz=Asia/Shanghai # 系统服务状态:工具会按照下面的配置关闭对应的系统服务 [services] firewall=inactive selinux=inactive # coredump 配置:工具会按照下面的配置设置 coredump 的生成路径 [coredump] kernel.core_pattern=/data/taos/core/core-%%e-%%p # /etc/sysctl.conf 中的系统参数:工具会按配置修改 [sys_vars:/etc/sysctl.conf] fs.nr_open=2147483584 fs.file-max=2147483584 net.ipv4.ip_local_port_range=10000 65534 # /etc/security/limits.conf 中的资源限制:工具会按配置修改 [sys_vars:/etc/security/limits.conf] * soft nproc=65536 * soft nofile=2147483584 * soft stack=65536 * hard nproc=65536 * hard nofile=2147483584 * hard stack=65536 root soft nproc=65536 root soft nofile=2147483584 root soft stack=65536 root hard nproc=65536 root hard nofile=2147483584 root hard stack=65536

各配置段的作用

  • [test_env]:定义集群中各节点的主机信息。每行通过||分隔多个字段,包括节点 IP(键名firstep/secondep/dnode3等仅为区分序号)、fqdn(节点主机名)、username(SSH 登录用户)、password(SSH 登录密码,可省略)、port(SSH 端口)。配置了免密登录后即可省略password字段。
  • [timezone]:设置系统时区,工具会据此修改各节点的系统时区,确保集群内所有节点使用一致的时区,这是避免时序数据写入与查询出现时间偏差的基础。
  • [services]:声明需要关闭的系统服务及其目标状态。典型场景是firewall=inactive(关闭防火墙)与selinux=inactive(关闭 SELinux),以避免这些安全组件拦截 TDengine 的端口监听与节点间通信。
  • [coredump]:配置内核 coredump 生成路径,如kernel.core_pattern=/data/taos/core/core-%%e-%%p。其中%%e表示可执行文件名、%%p表示进程 PID,在 INI 文件中需以双百分号转义;工具会按此配置 coredump 目录并开启服务,便于日后定位 taosd 崩溃问题。
  • [sys_vars:/etc/sysctl.conf]:写入/etc/sysctl.conf的内核参数。示例中fs.nr_openfs.file-max被调高到2147483584net.ipv4.ip_local_port_range扩展为10000 65534,这些参数为高并发连接与海量文件句柄留出了充足余量。
  • [sys_vars:/etc/security/limits.conf]:写入/etc/security/limits.conf的用户资源限制,包括nproc(进程数)、nofile(打开文件数)、stack(栈大小)的 soft/hard 上限,并同时为*(所有用户)和root设置,避免 taosd 在运行期因资源限制被中断。

注意:配置文件中的 coredump 与 sys_vars 参数均可根据实际环境调整;若集群规模较大或文件句柄需求更高,应按真实容量规划这些取值。

环境预配置范围

根据官方文档,taospreset 在安装前会对每个目标节点完成以下预配置项目:

预配置项目详细说明
配置系统时区将系统时区配置为用户预设定的时区
关闭防火墙关闭系统的防火墙服务
关闭 SELinux 服务关闭系统的 SELinux 服务
配置系统参数应用用户预设定的系统参数(写入/etc/sysctl.conf/etc/security/limits.conf
配置 coredump配置 coredump 生成目录并开启服务
修改机器 Hostname当机器 Hostname 为默认的localhost时,更新为配置文件中预设定的 FQDN
配置域名解析将配置文件中安装节点的 FQDN 与 IP 写入/etc/hosts文件

这七项覆盖了 TDengine 集群部署中最容易出问题的环境因素:主机名不一致会导致 dnode 之间无法正确识别身份,/etc/hosts缺少映射会导致 FQDN 解析失败,防火墙与 SELinux 未关闭会拦截数据端口,coredump 未配置会给崩溃诊断带来困难。通过一次预配置即可统一消除这些隐患。

结果文件

taospreset运行完成后,会在结果目录(默认是工具运行当前目录,可用-r指定)下生成preset_report.md文件。该文件记录了本次预配置工具实际修改的具体项目,便于部署人员核对哪些环境项被变更、是否与预期一致,也可作为交付与审计的留痕依据。

应用示例

以下为官方文档给出的典型使用方式:

# 配置当前主机(local 模式) ./taospreset # 通过 SSH 配置所有配置文件中的主机 ./taospreset -m ssh # 使用指定配置文件,以 SSH 模式配置所有主机 ./taospreset -m ssh -f /path/to/preset.cfg # 以 SSH 模式配置所有主机,同时关闭 Kylin 系统的 KySec 服务 ./taospreset -m ssh -d # 以 SSH 模式配置所有主机,并开启 debug 级别日志 ./taospreset -m ssh -l debug

示例解析:

  • ./taospreset等价于-m local,仅预配置当前节点,适用于单机部署或节点间无 SSH 互通的场景;
  • -m ssh会自动读取运行当前目录下的配置文件,依次对所有[test_env]中定义的主机执行预配置,适用于标准集群部署;
  • -f /path/to/preset.cfg显式指定配置文件的完整路径,便于把配置与工具分离管理;
  • -d-l debug可组合使用,前者用于麒麟系统的安全框架关闭,后者用于排查批量预配置过程中的异常细节。

与 taosprecheck 组合的推荐流程

由于两者共享配置文件格式,推荐的部署前流程是:

  1. 使用同一份配置文件先运行 taosprecheck 检查环境(生成precheck_report.mdprecheck_advice.md);
  2. 根据检查结果调整配置并运行taospreset完成环境预配置;
  3. 重新运行 taosprecheck 确认问题项已消除;
  4. 再执行安装步骤(如taosinstall),从而保证安装从一开始就处于干净、一致的环境中。

小结

taospreset是 TDengine 部署链路中"环境就绪"的最后一公里:它以一份与 taosprecheck 共享的 INI 配置文件为输入,通过local/ssh两种模式,将时区、防火墙、SELinux、内核与资源限制参数、coredump、主机名与域名解析一次性配置到位,并以preset_report.md留痕。对于 Enterprise 用户而言,将 taosprecheck(检查)与 taospreset(预配置)配合使用,可以有效降低多节点集群部署前的环境准备工作量,从源头规避因系统设置不一致引发的安装与运行问题。更完整的工具清单、平台支持范围与前置要求,可参见 Inspection Tools 总览。

【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询