TDengine Enterprise 指定目录安装与组件启停操作指南(install_spec.sh 与 tdsvc.sh 实战) 📅 发布时间:2026/9/14 9:12:01 👁 浏览次数: TDengine Enterprise 指定目录安装与组件启停操作指南install_spec.sh 与 tdsvc.sh 实战【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine本指南基于 TDengine 企业版 Linux 打包目录packaging/tools中的官方安装与运维文档完整讲解如何将 TDengine 企业版安装到用户自定义目录而非系统默认路径以及如何通过tdsvc.sh脚本对 taosd、taosadapter、taoskeeper、taos-explorer、taosx 等核心组件进行精细化启停管理。阅读完本文你将掌握解包企业版安装包、利用install_spec.sh -d指定安装目录、配置环境变量、编写多组件统一启停命令的完整流程并能结合配置文件与源码理解脚本背后的实现原理。1. 安装准备解包安装包与脚本就位TDengine 企业版以压缩包形式分发例如TDengine-enterprise-3.3.6.5-Linux-x64.tar.gz。若需要把数据库安装到自定义路径如~/tdengine官方建议采用解包脚本安装而非系统级 deb/rpm 包安装。第一步解压安装包并进入解压目录tar xf TDengine-enterprise-3.3.6.5-Linux-x64.tar.gz cd TDengine-enterprise-3.3.6.5第二步确保安装脚本install_spec.sh位于TDengine-enterprise-3.3.6.5目录内。该脚本是本次指定目录安装的核心程序其源码位于仓库 packaging/tools/install_spec.sh内部通过script_dir$(dirname $(readlink -f $0))定位自身所在目录再基于该目录查找bin/、driver/、cfg/、inc/、examples/等资源因此脚本必须与被解包的资源文件处于同一目录。第三步为脚本授予可执行权限chmod 755 install_spec.sh2. 执行安装install_spec.sh参数详解执行安装脚本使用-d指定安装目录官方示例为~/tdengine使用-e no跳过交互式 FQDN 询问非交互模式./install_spec.sh -d ~/tdengine -e no结合 packaging/tools/install_spec.sh 的源码可以确认该脚本支持的完整参数参数含义默认值说明-v安装类型server可选server服务端客户端或client仅客户端-e是否交互式配置 FQDNyes设为no即非交互模式脚本将跳过set_hostname、firstEp、邮箱等交互提问-d安装目录$HOME/tdengine脚本内部会拼接为$(echo $OPTARG)/tdengine即传-d ~实际安装到~/tdengine-h显示帮助-打印Usage: install_spec.sh -v [server | client] -e [yes | no] -d [install dir]注意-d参数的一个细节从源码installDir$(echo $OPTARG)/tdengine可以看到即使你传入了~/tdengine脚本最终拼接的结果仍然是~/tdengine/tdengine。因此官方文档中的-d ~/tdengine是一种惯用写法实际目录会以安装完成后脚本输出的路径为准。脚本执行时还会做以下关键事情见源码 installProduct解压内部package.tar.gz创建bin、driver、examples、include、cfg、tmp等子目录将bin/下的全部可执行文件复制到安装目录的bin/并把remove.sh重命名为uninstall.sh将driver/下的libtaos.*、libtaosnative.*、libtaosws.*动态库复制到driver/在安装目录下生成export/bin、export/lib、export/include三个软链接目录分别链接可执行文件、动态库与头文件taos.h、taosdef.h、taoserror.h、tdef.h、taosudf.h等将cfg/taos.cfg模板复制到cfg/并自动追加dataDir、logDir、tmpDir等指向自定义目录的配置行见 install_taosd_config若为 cluster 模式还会安装 taosadapter、taoskeeper、taos-explorer、taosx 等组件的 toml 配置模板并把其中的localhost/127.0.0.1替换为实际 FQDN自动检测 systemd / SysV init / 无服务管理器三种环境源码第 52-70 行通过检测ps aux | grep systemd与which service判断决定后续服务注册方式。3. 移动 tdsvc.sh 并配置环境变量安装完成后把组件启停管理脚本tdsvc.sh移动到安装目录并授权mv tdsvc.sh ~/tdengine chmod 755 ~/tdengine/tdsvc.shtdsvc.sh即仓库中的 packaging/tools/tdsvc.sh它管理的组件列表固定为(taosd taosadapter taoskeeper taos-explorer taosx)覆盖了 TDengine 集群模式下的全部常驻进程。为了让taos命令行与动态库能被当前 shell 找到需要重新登录 shell 或加载用户环境配置source $HOME/.bashrc # 适用于 sh、bash、zsh这一步对应的源码逻辑位于 install_spec.sh脚本安装时会自动向~/.bashrc追加两段环境变量——# taos bin env export PATH$installDir/export/bin:$PATH # taos lib env export LD_LIBRARY_PATH$installDir/export/lib即把export/bin可执行文件软链接与export/lib动态库软链接注入 PATH 和 LD_LIBRARY_PATH。因此即使安装目录不在系统标准路径下taos、taosd等命令也能直接使用。4. 组件启动与停止操作tdsvc.sh所有组件的配置文件统一位于安装目录的cfg文件夹本文示例中即为~/tdengine/cfg/。其中服务端核心配置为taos.cfg模板见 packaging/cfg/taos.cfg其余组件使用各自独立的 toml 文件taosadapter.toml、taoskeeper.toml、explorer.toml、taosx.toml。4.1 启动全部组件./tdsvc.sh start-all ~/tdengine/cfg/结合 tdsvc.sh 源码可见start-all会依次对五个组件执行start_component各组件实际启动命令如下均为nohup ... 后台方式运行组件实际启动命令说明taosdtaosd -c config_dir数据库服务端-c指定配置目录taosadaptertaosadapter -c config_dir/taosadapter.tomlREST/WebSocket 接入适配层启动后sleep 5等待就绪taoskeepertaoskeeper -c config_dir/taoskeeper.toml监控信息采集与上报组件taos-explorertaos-explorer -C config_dir/explorer.toml图形化管理界面注意此处是大写-Ctaosxtaosx -c config_dir/taosx.toml数据同步/迁移组件4.2 停止全部组件./tdsvc.sh stop-allstop-all按同样顺序依次停止五个组件。停止逻辑tdsvc.sh先通过ps -ef | grep $component获取 PID先发送SIGTERM优雅退出随后以 1 秒间隔轮询最多 10 次kill -0检测进程是否存活若超时仍未退出则发送SIGKILL强制终止避免残留进程占用端口与数据文件。4.3 启动 / 停止单个组件按需启动某个组件例如只启动数据库服务端./tdsvc.sh start taosd ~/tdengine/cfg/按需停止某个组件./tdsvc.sh stop taosd脚本对参数做了严格校验start必须同时提供组件名与配置目录否则输出Usage: $0 start component config_dir并退出stop只接受组件名。可用组件名仅限上文表格中的五个传入未知组件会提示Unknown component。5. 与系统服务方式的关系与验证tdsvc.sh是指定目录安装场景下的进程级启停方案适合不希望注册系统服务、或需要频繁调试/多实例部署的情况。若使用 deb/rpm 包安装则走 systemd 服务托管服务单元文件见 packaging/cfg/taosd.service安装脚本中的install_service_on_systemd会执行systemctl enable与daemon-reload见 install_spec.sh。两种方式的管理入口不同但读取的都是~/tdengine/cfg/下的同一套配置文件。启动后可通过以下方式验证服务状态# 查看各组件进程 ps -ef | grep -E taosd|taosadapter|taoskeeper|taos-explorer|taosx # 使用 taos CLI 连接本地集群-h 指定 FQDN/IP taos -c ~/tdengine/cfg/ -h $(hostname) # 查看数据库版本 taos -s select server_version();6. 常见问题与注意事项-d目录拼接行为如前所述install_spec.sh会把-d传入值再拼接/tdengine。若不传-d默认安装到$HOME/tdengine因此官方文档的-d ~/tdengine与默认行为在语义上一致。环境变量未生效若taos命令提示 not found检查~/.bashrc中是否已包含export PATH.../export/bin:$PATH与export LD_LIBRARY_PATH.../export/lib并重新source或重开 shell。配置文件位置指定目录安装后配置不在/etc/taos/而在~/tdengine/cfg/taos.cfg中的dataDir、logDir、tmpDir也已被脚本改写为安装目录下的data/taos、log/taos、tmp/taos。老版本数据兼容源码在安装前会检查默认数据目录dataDir/dnode/dnodeCfg.json若存在 TDengine 2.x 旧数据会提示先清理避免跨大版本数据目录冲突。防火墙与集群若为多节点集群部署需保证 6030taosd、6041taosadapter REST、6060taos-explorer等端口互通参考仓库中的 packaging/tools/quick_deploy.sh 可看到官方建议关闭 ufw/firewalld 并做内核参数调优tcp 连接数、文件句柄数等。通过本指南的步骤你可以完全绕开系统默认目录将 TDengine Enterprise 部署在自定义路径下并用统一的tdsvc.sh命令完成对数据库内核及周边组件的生命周期管理适用于私有化交付、容器内运行、多实例并存等定制化场景。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考