TDengine taosinstall 安装工具实战单机与集群的自动化部署、升级完整指南【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdenginetaosinstall是 TDengine 提供的集群级自动化安装与升级工具用于解决传统安装包自带脚本只能单机安装、无法按集群批量编排的问题。本文以官方文档为主体结合当前仓库中的服务配置模板taos.cfg、taoskeeper.toml 等系统讲解taosinstall的安装、升级命令参数、19 步安装流程、配置文件全字段语义以及停服/滚动升级两种升级模式帮助读者在一台或多台节点上快速完成 TDengine含 taosAdapter、taosKeeper、taosX、taosExplorer 等周边组件的规模化部署与版本升级。背景为什么需要 taosinstallTDengine 的安装包自带安装脚本可以完成单机环境的基础安装。但在生产实践中一个集群往往包含多台物理机或虚拟机需要依次处理环境检查、安装包分发、配置下发、服务启停、dnode/mnode 创建、监控用户创建等一系列操作。若全部依赖人工逐节点执行脚本效率低且容易出错。taosinstall正是为这一场景设计它以集群为单位自动完成安装与升级支持安装方式详细说明单节点安装部署单节点环境安装部署 TDengine集群安装部署集群环境安装部署 TDengine指定机器安装部署指定集群中特定节点安装部署 TDengine普通升级单节点或集群关闭服务后升级 TDengine仅推荐测试使用滚动升级单节点或集群不停服务升级 TDengine仅推荐测试使用:::warning 升级功能尤其是滚动升级当前仅推荐在测试环境使用例如验证版本升级流程。生产环境使用前必须提前评估服务启动与可用性风险。 :::工具本身属于 TDengine 企业版Enterprise / tsdb发行包中的组件随企业版安装包一同发布可执行文件名为taosinstall。install 子命令参数与安装流程命令语法taosinstall的安装子命令支持通过help参数查看完整语法usage: taosinstall install [-h] [--model {local,ssh}] [--config CONFIG] [--backend] [--check-md5] [--list LIST] [--lite] [--log-level {debug,info}] [--workers WORKERS] [--set-hostname] [--set-ips] [--replicas {2,3}] optional arguments: -h, --help show this help message and exit --model {local,ssh}, -m {local,ssh} connection model --config CONFIG, -f CONFIG Full path of config file --backend, -b Run process in backend --check-md5, -cm Check md5 of package --list LIST, -L LIST Comma-separated list of hostnames --lite Lite mode --log-level {debug,info}, -l {debug,info} Set log level, default: info (options: debug, info) --workers WORKERS, -w WORKERS Concurrency --set-hostname, -sh Set hostname --set-ips, -si Set IP/FQDN in /etc/hosts --replicas {2,3}, -r {2,3} Number of replicas参数详细说明model安装工具运行模式分为local和ssh两种。ssh 模式集群节点间支持 SSH 通信时可在任意节点上运行工具工具会依次对所有配置的节点完成安装操作。local 模式节点间不支持 SSH 通信时仅对工具运行所在机器完成安装操作。默认值为local。config安装工具加载的配置文件路径具体配置方式见下文「配置文件使用说明」。不指定时配置文件默认取工具运行当前目录下的配置文件。backend后台运行安装工具默认为前台运行。check-md5安装前检查安装包的 MD5 值默认不检查。list逗号分隔的节点列表指定本次要部署的机器。前提是配置文件中指定的firstep已安装完成且服务运行正常该参数主要为安装中断后继续安装剩余节点的场景预留默认值为 None。log-level输出日志级别支持debug和info默认为info。workers集群安装部署时的并发数量影响同时向多个节点分发文件的并发度需根据机器资源情况调整默认值为 50。set-hostname根据配置文件的 FQDN 更新集群节点的 hostname默认不更新。set-ips根据配置文件的 FQDN 对应 IP 更新集群节点的/etc/hosts默认不更新。replicas部署 TDengine 的副本数量支持双副本2和三副本3默认为三副本。version打印安装工具版本信息通过taosinstall version查看。安装流程19 步安装工具的工作流为复制并安装安装包 → 下发各服务配置文件 → 启动taosd→ 创建 dnode 与 mnode → 配置各组件 instanceId → 依次启动 taosAdapter、taosKeeper、taosX、taosExplorer → 创建监控用户。 Note:安装前需确认 TDengine 各服务对应的配置文件中预设定参数是否正确特别是数据和日志路径等信息。可参考仓库中的 taos.cfg 模板。No安装步骤详细说明1检查 MD5检查安装包的 MD5 值可选项对应--check-md52复制安装包复制安装包到集群各节点local 安装模式跳过该步骤3安装 TDengine在各节点安装 TDengine4更新 taos 配置基于预配置的 taosd 参数更新taos.cfg除预配置的静态参数外还会动态更新firstEp、secondEp、fqdn、minReservedMemorySize5启动 taosd 服务通过systemctl启动 taosd 服务6更新 taosadapter 配置基于预配置的 taosadapter 参数更新taosadapter.toml7启动 taosadapter 服务通过systemctl启动 taosadapter 服务8创建集群所有 dnode数据库初始化所有 dnode9创建 mnode在firstEp、secondEp和 node3 上创建 mnodelocal 安装模式跳过该步骤10更新 taosadapter 的 instanceId更新 taosadapter 的 instanceId 并重启 taosadapter 服务11更新 taoskeeper 配置基于预配置的 taoskeeper 参数更新taoskeeper.toml并更新 instanceId12启动 taoskeeper 服务通过systemctl启动 taoskeeper 服务13更新 taosx 配置基于预配置的 taosx 参数更新taosx.toml并更新 instanceId14启动 taosx 服务通过systemctl启动 taosx 服务15更新 taos-explorer 配置基于预配置的 taos-explorer 参数更新explorer.toml并更新 instanceId16启动 taos-explorer 服务通过systemctl启动 taos-explorer 服务17创建监控用户在数据库中创建 monitor 用户18更新 taoskeeper 配置更新 taoskeeper 配置文件中连接数据库的用户为 monitor19启动 taoskeeper 服务通过systemctl重启 taoskeeper 服务从步骤 4 可以看出工具会基于预置模板动态生成taos.cfg中的集群关键参数。firstEp/secondEp/fqdn决定了集群的拓扑连接关系而minReservedMemorySize用于控制 dnode 启动时保留的最小内存防止内存不足影响数据写入。这些参数在仓库自带的 taos.cfg 模板中均有对应条目例如firstEp hostname:6030、secondEp、fqdn hostname用户可在预配置文件中提前写入其他静态参数如dataDir、logDir、supportVnodes等工具会把它们覆盖到所有 dnode 上。步骤 17~19 的监控用户机制与仓库中 taosKeeper 的配置结构相呼应默认的 taoskeeper.toml 中[tdengine]段使用username/password连接 TDengine默认 root/taosdata端口 6041并将监控数据写入[metrics.database]指定的log库。安装工具在部署完成后会将 keeper 的连接账号切换为专用 monitor 用户并重启实现监控链路的权限收敛。upgrade 子命令停服升级与滚动升级命令语法usage: taosinstall upgrade [-h] [--model {local,ssh}] [--config CONFIG] [--backend] [--check-md5] [--list LIST] [--log-level {debug,info}] [--rolling-upgrade] optional arguments: -h, --help show this help message and exit --model {local,ssh}, -m {local,ssh} connection model --config CONFIG, -f CONFIG Full path of config file --backend, -b Run process in backend --check-md5, -cm Check md5 of package --list LIST, -L LIST Comma-separated list of hostnames --log-level {debug,info}, -l {debug,info} Set log level, default: info (options: debug, info) --rolling-upgrade, -r Rolling upgrade参数详细说明model、config、backend、check-md5、list、log-level语义与 install 子命令一致可参考上文。rolling-upgrade开启滚动不停服升级目前仅推荐测试环境使用。默认不携带该参数为普通停服升级。version打印安装工具版本信息。 Note:由于客户现场环境复杂启停服务过程可能遇到不可预期的问题升级功能目前仅推荐在测试环境使用例如验证版本升级。若在业务环境使用需要提前评估其风险。停服升级流程停服升级会先停止所有节点上的所有数据库服务然后按照firstEp→secondEp→dnode3...的顺序依次完成升级与重启操作No安装步骤详细说明1复制安装包复制安装包到集群各节点local 安装模式跳过该步骤2停止服务停止 taosd、taosadapter、taoskeeper、taosx 和 taos-explorer 服务3更新版本更新 TDengine 到指定版本4启动 taosd 服务通过 systemctl 启动 taosd 服务5启动 taosadapter 服务通过 systemctl 启动 taosadapter 服务6启动 taoskeeper 服务通过 systemctl 启动 taoskeeper 服务7启动 taosx 服务通过 systemctl 启动 taosx 服务8启动 taos-explorer 服务通过 systemctl 启动 taos-explorer 服务滚动升级流程滚动升级不停服按照「非 mnode 所在节点 → mnode 为 follower 的节点 → mnode 为 leader 的节点」的顺序依次执行升级与重启No安装步骤详细说明1复制安装包复制安装包到集群各节点local 安装模式跳过该步骤2停止服务停止 taosd、taosadapter、taoskeeper、taosx 和 taos-explorer 服务3更新版本更新 TDengine 到指定版本4启动 taosd 服务通过 systemctl 启动 taosd 服务5启动 taosadapter 服务通过 systemctl 启动 taosadapter 服务6启动 taoskeeper 服务通过 systemctl 启动 taoskeeper 服务7启动 taosx 服务通过 systemctl 启动 taosx 服务8启动 taos-explorer 服务通过 systemctl 启动 taos-explorer 服务从执行顺序可以推断非 mnode 节点承载普通 vnode先升级对集群元数据影响最小follower mnode 先于 leader 升级可保证在 leader 升级的短暂窗口内仍有其他 mnode 对外提供服务从而降低对客户端连接与元数据读写的影响。即便如此滚动升级仍属于实验性能力务必先在测试集群中演练。配置文件使用说明taosinstall的所有部署行为都由一个 INI 格式的配置文件驱动它定义了三类信息节点环境SSH 访问信息、FQDN、副本拓扑安装物料本地安装包路径、MD5 校验值、数据库连接凭证组件配置模板taosd / taosadapter / taoskeeper / taosx / taos-explorer 各自的下发配置以及监控账号与要安装的服务清单。 Note:节点间支持密码登录和免密登录两种方式。配置免密登录时包括运行安装工具的当前节点在内所有节点都要配置免密。免密配置方法cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys完整配置示例######################################################## # # # Configuration # # # ######################################################## # 安装部署 TDengine 的环境信息支持免密登录和 SSH 登录两种方式当环境配置了免密登录后可不用配置 password 信息 [test_env] # 节点间通过 SSH 协议访问 firstep192.168.0.1||fqdntdengine1||usernameroot||password123456||port22 secondep192.168.0.2||fqdntdengine2||usernameroot||password123456||port22 dnode3192.168.0.3||fqdntdengine3||usernameroot||password123456||port22 # 节点间配置免密登录包括运行安装工具的当前节点也要配置免密 # firstep192.168.0.1||fqdntdengine1||usernameroot||port22 # secondep192.168.0.2||fqdntdengine2||usernameroot||port22 # dnode3192.168.0.3||fqdntdengine3||usernameroot||port22 # TDengine 安装包在本地所在全路径 [local_pack] package/path_to_file/tdengine-tsdb-enterprise-3.3.x.x-Linux-x64.tar.gz md5317f88bf13aa21706ae8c2d4f919d30f # oem 版本的版本名称默认不使用 # [oem] # versionprodb # TDengine 的 Restful 连接信息 [database] usernameroot passwordtaosdata port6030 rest_port6041 # taosd 预配置文件, 该文件中配置会覆盖到所有 dnode 上对应配置文件 [taos_cfg] cfg_filetaos.cfg # taoskeeper 的预配置文件, 该文件中配置会覆盖到所有 dnode 上对应配置文件 [taoskeeper_cfg] cfg_filetaoskeeper.toml # taosadapter 的预配置文件, 该文件中配置会覆盖到所有 dnode 上对应配置文件 [taosadapter_cfg] cfg_filetaosadapter.toml # taosx 的预配置文件, 该文件中配置会覆盖到所有 dnode 上对应配置文件 [taosx_cfg] cfg_filetaosx.toml # explorer 的预配置文件, 该文件中配置会覆盖到所有 dnode 上对应配置文件 [taosexplorer_cfg] cfg_fileexplorer.toml # 监控用户 monitor 的配置信息 [monitor_user] usernamemonitor passwordTaosmonitor_125# [td_services] taosd taos taosadapter taoskeeper taosx taos-explorer配置段落逐项说明[test_env]集群节点列表。每一行以keyIP||fqdnFQDN||username用户||password密码||port端口的管道分隔格式描述一个节点firstep/secondep集群第一、第二个节点的连接信息安装工具会依据它们生成taos.cfg中的firstEp/secondEp详见 taos.cfg 中# firstEp hostname:6030与# secondEp条目dnode3、dnode4……其余 dnode 节点可依此类推扩展使用免密登录时可省略password字段注意官方示例中节点字段顺序为「IP || fqdn || username || password || port」配置时保持该顺序即可。[local_pack]本地安装包与校验信息packageTDengine 企业版tsdb安装包在运行工具的本机上的完整路径md5安装包的 MD5 值配合--check-md5在安装前校验包完整性。[oem]OEM 版本名称默认不使用需要 OEM 定制版本时填写versionprodb之类的名称。[database]安装工具连接 TDengine 的 REST 信息用于建库、建用户等控制操作username/password数据库连接账号默认 root / taosdataport原生连接端口默认 6030rest_portREST 端口默认 6041。[taos_cfg]/[taosadapter_cfg]/[taoskeeper_cfg]/[taosx_cfg]/[taosexplorer_cfg]各服务组件的预配置模板文件。工具会将cfg_file指向的模板文件下发并覆盖到所有 dnode 上对应的正式配置文件。仓库中可参考的模板包括taosdpackaging/cfg/taos.cfg含firstEp、secondEp、fqdn、serverPort、dataDir、logDir、supportVnodes、各模块debugFlag等参数taoskeepertools/keeper/config/taoskeeper.toml含host/port监听地址、[tdengine]连接段、[metrics.database]监控库选项、[log]日志段等企业版可参考 taoskeeper_enterprise.toml额外包含[audit]审计段。[monitor_user]监控账号配置。工具在安装流程第 17~19 步创建该用户并将 taoskeeper 的数据库连接切换为该账号后重启使监控数据采集使用独立的最小权限账号。[td_services]要安装并纳入管理的服务清单默认包含taosd、taos、taosadapter、taoskeeper、taosx、taos-explorer对应升级流程中统一停止与启动的服务集合。应用示例以下示例均假定taosinstall位于当前目录且对应的配置文件已按上文格式准备好。1. 在工具所在节点安装数据库单机 local 模式./taosinstall install -m local2. 在集群所有节点安装数据库日志级别配置为 debug./taosinstall install -m ssh -l debug3. 指定配置文件并在集群所有节点安装数据库./taosinstall install -m ssh -f /path_to_file/install.cfg4. 在集群指定节点安装数据库-L后跟逗号分隔的节点名./taosinstall install -m ssh -L server1,server25. 停服升级数据库./taosinstall upgrade -m ssh6. 滚动升级数据库./taosinstall upgrade -m ssh -r7. 其余常见用法# 校验安装包 MD5 后安装ssh 模式 ./taosinstall install -m ssh -f /path_to_file/install.cfg --check-md5 # 以 100 并发分发安装包 ./taosinstall install -m ssh -f /path_to_file/install.cfg -w 100 # 安装完成后更新节点 hostname 与 /etc/hosts ./taosinstall install -m ssh -f /path_to_file/install.cfg --set-hostname --set-ips # 以双副本部署 ./taosinstall install -m ssh -f /path_to_file/install.cfg -r 2 # 后台运行安装任务 ./taosinstall install -m ssh -f /path_to_file/install.cfg -b # 查看安装工具版本 ./taosinstall version使用建议与注意事项升级仅限测试环境停服升级与滚动升级都会触碰服务的启停现场环境复杂请先在测试集群完整演练确认服务启动与数据可用性无风险后再评估是否用于业务环境。先核对预配置模板安装前务必核对各组件cfg_file中的静态参数尤其是dataDir、logDir等路径配置避免数据落到错误目录。合理设置并发与副本数--workers默认 50分发安装包时可根据节点数与网络带宽调整--replicas支持 2 或 3默认三副本。主机名与 hosts 的一致性若节点间依赖 FQDN 通信建议使用--set-hostname与--set-ips让集群节点的 hostname 与/etc/hosts保持一致否则可能出现节点间无法解析对端的问题。免密登录的完整性ssh 模式下包括运行工具的当前节点在内的所有节点都必须配置免密登录否则工具无法在节点间建立连接。中断续装若安装中途失败可待firstep节点安装并运行正常后使用--list指定剩余节点继续安装避免整集群重来。监控链路安装完成后taoskeeper 使用[monitor_user]中配置的 monitor 账号采集监控数据请妥善保管该账号密码并可在 taoskeeper.toml 的[metrics.database]段按需调整监控库的vgroups、buffer、keep等参数。总结taosinstall将 TDengine 集群部署从「逐节点手工安装」提升为「一份配置、一条命令」的自动化流程install子命令覆盖单机、全集群、指定节点三类安装场景并自动完成 taosd 配置动态生成、dnode/mnode 创建、各组件 instanceId 配置与监控用户创建upgrade子命令提供停服升级与滚动升级两种模式配合--list、--workers、--check-md5等参数可灵活应对部署中断续装、批量分发与包完整性校验等实际需求。对于需要在多节点环境规模化部署 TDengine 的运维与测试团队该工具是显著提升效率的实用选择。【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考