1. 环境准备与安装包获取第一次接触TDengine的朋友可能会被各种术语吓到但其实部署过程就像组装乐高积木一样简单。我们先从最基础的准备工作开始。我建议使用一台干净的CentOS 7或Ubuntu 18.04以上版本的Linux服务器作为部署环境这是经过大量项目验证最稳定的组合。获取安装包时有个小技巧不要直接下载最新版。打开TDengine官网后先查看右侧的稳定版本推荐。比如当前2.4.x系列可能已经迭代到2.4.15但官方推荐的稳定版可能是2.4.12。这个细节很重要我在三个项目里都遇到过新版本引入的兼容性问题。下载时注意区分服务端和客户端包。服务端选择Linux版本文件名类似TDengine-server-2.4.12-Linux-x64.tar.gz如果是Windows客户端就选对应的Windows版本。这里有个坑某些云服务器厂商的镜像会预装老版本TDengine务必先执行rpm -qa | grep taos或dpkg -l | grep taos检查是否已存在旧版本。2. 服务端安装与基础配置2.1 解压与安装拿到安装包后我习惯在/opt目录下操作sudo tar -xzvf TDengine-server-2.4.12-Linux-x64.tar.gz cd TDengine-server-2.4.12执行安装脚本前先确认系统时间准确时区错误会导致后续各种诡异问题。建议先运行timedatectl set-timezone Asia/Shanghai sudo ntpdate pool.ntp.org安装命令很简单sudo ./install.sh但这里有个关键点安装完成后不要立即启动服务。很多新手会直接systemctl start taosd这会导致后续配置变更需要额外处理。我在某次客户现场部署时就踩过这个坑不得不手动清理/var/lib/taos下的数据文件。2.2 FQDN配置详解FQDN配置是远程访问的核心也是最多人栽跟头的地方。先理解几个要点从TDengine 2.0开始强制要求FQDN客户端和服务端必须使用相同的域名解析生产环境强烈建议配置DNS服务配置过程分四步走第一步检查当前主机名hostname hostname -f如果返回的只是简单主机名如host1就需要改造为完整域名。第二步修改主机名sudo hostnamectl set-hostname server1.iotdata.com这个命令会同时修改静态和动态主机名。老教程里教的修改/etc/hostname方法现在不推荐了。第三步配置hosts文件sudo vim /etc/hosts添加记录假设服务器公网IP是121.48.98.7121.48.98.7 server1.iotdata.com server1注意要同时写完整域名和短名称这是为了兼容某些老旧工具。第四步验证解析ping server1.iotdata.com hostname -i应该能正确返回配置的IP地址。3. 关键配置文件调整3.1 taos.cfg深度配置进入/etc/taos目录编辑taos.cfg文件。重点参数说明# 集群首个节点的FQDN单机部署就是自己 firstEp server1.iotdata.com:6030 # 本机FQDN必须与hostname -f一致 fqdn server1.iotdata.com # 时区设置必须与系统一致 timezone Asia/Shanghai # 客户端连接数限制默认500 maxConnections 1000 # 日志保留天数生产环境建议7天以上 logKeepDays 7特别提醒修改配置后必须重启服务才能生效sudo systemctl restart taosd3.2 非初次启动的特殊处理如果之前误启动了服务需要额外处理/var/lib/taos下的元数据文件。这是我踩过最痛的坑sudo vim /var/lib/taos/dnode/dnodeEps.json确保里面的fqdn字段与当前配置完全一致{ dnodeNum: 1, dnodeInfos: [{ dnodeId: 1, dnodeFqdn: server1.iotdata.com, dnodePort: 6030 }] }4. Windows客户端配置实战4.1 安装与基础配置Windows客户端的安装过程很简单但配置环节有几个易错点修改C:\Windows\System32\drivers\etc\hosts文件需要管理员权限121.48.98.7 server1.iotdata.com配置C:\TDengine\cfg\taos.cfgfirstEp server1.iotdata.com:6030 # 注意客户端fqdn应该留空或注释掉 # fqdn client1.iotdata.com4.2 连接测试与排错打开cmd执行taos -h server1.iotdata.com常见错误及解决方案报错Unable to resolve FQDN检查hosts文件是否保存为ANSI编码报错Connection refused检查服务端防火墙6030端口报错Invalid timestamp检查服务端和客户端时区设置连接成功后可以执行基本测试CREATE DATABASE test; USE test; CREATE TABLE sensors (ts TIMESTAMP, value FLOAT); INSERT INTO sensors VALUES (NOW(), 23.5); SELECT * FROM sensors;5. 防火墙与安全加固生产环境必须考虑安全性。建议的防护措施修改默认端口修改taos.cfg的serverPort参数配置防火墙规则以CentOS为例sudo firewall-cmd --permanent --add-port6030/tcp sudo firewall-cmd --reload启用TDengine的访问控制CREATE USER admin PASS 复杂密码; GRANT ALL PRIVILEGES ON *.* TO admin;6. 日常维护技巧分享几个实用命令查看服务状态systemctl status taosd查看日志tail -f /var/log/taos/taosd.log数据目录清理sudo rm -rf /var/lib/taos/*版本检查taos --version遇到服务无法启动时可以尝试sudo taosd -c /etc/taos这样会在前台运行并输出详细日志方便排查问题。
从零到一:TDengine服务端部署与远程访问全攻略
1. 环境准备与安装包获取第一次接触TDengine的朋友可能会被各种术语吓到但其实部署过程就像组装乐高积木一样简单。我们先从最基础的准备工作开始。我建议使用一台干净的CentOS 7或Ubuntu 18.04以上版本的Linux服务器作为部署环境这是经过大量项目验证最稳定的组合。获取安装包时有个小技巧不要直接下载最新版。打开TDengine官网后先查看右侧的稳定版本推荐。比如当前2.4.x系列可能已经迭代到2.4.15但官方推荐的稳定版可能是2.4.12。这个细节很重要我在三个项目里都遇到过新版本引入的兼容性问题。下载时注意区分服务端和客户端包。服务端选择Linux版本文件名类似TDengine-server-2.4.12-Linux-x64.tar.gz如果是Windows客户端就选对应的Windows版本。这里有个坑某些云服务器厂商的镜像会预装老版本TDengine务必先执行rpm -qa | grep taos或dpkg -l | grep taos检查是否已存在旧版本。2. 服务端安装与基础配置2.1 解压与安装拿到安装包后我习惯在/opt目录下操作sudo tar -xzvf TDengine-server-2.4.12-Linux-x64.tar.gz cd TDengine-server-2.4.12执行安装脚本前先确认系统时间准确时区错误会导致后续各种诡异问题。建议先运行timedatectl set-timezone Asia/Shanghai sudo ntpdate pool.ntp.org安装命令很简单sudo ./install.sh但这里有个关键点安装完成后不要立即启动服务。很多新手会直接systemctl start taosd这会导致后续配置变更需要额外处理。我在某次客户现场部署时就踩过这个坑不得不手动清理/var/lib/taos下的数据文件。2.2 FQDN配置详解FQDN配置是远程访问的核心也是最多人栽跟头的地方。先理解几个要点从TDengine 2.0开始强制要求FQDN客户端和服务端必须使用相同的域名解析生产环境强烈建议配置DNS服务配置过程分四步走第一步检查当前主机名hostname hostname -f如果返回的只是简单主机名如host1就需要改造为完整域名。第二步修改主机名sudo hostnamectl set-hostname server1.iotdata.com这个命令会同时修改静态和动态主机名。老教程里教的修改/etc/hostname方法现在不推荐了。第三步配置hosts文件sudo vim /etc/hosts添加记录假设服务器公网IP是121.48.98.7121.48.98.7 server1.iotdata.com server1注意要同时写完整域名和短名称这是为了兼容某些老旧工具。第四步验证解析ping server1.iotdata.com hostname -i应该能正确返回配置的IP地址。3. 关键配置文件调整3.1 taos.cfg深度配置进入/etc/taos目录编辑taos.cfg文件。重点参数说明# 集群首个节点的FQDN单机部署就是自己 firstEp server1.iotdata.com:6030 # 本机FQDN必须与hostname -f一致 fqdn server1.iotdata.com # 时区设置必须与系统一致 timezone Asia/Shanghai # 客户端连接数限制默认500 maxConnections 1000 # 日志保留天数生产环境建议7天以上 logKeepDays 7特别提醒修改配置后必须重启服务才能生效sudo systemctl restart taosd3.2 非初次启动的特殊处理如果之前误启动了服务需要额外处理/var/lib/taos下的元数据文件。这是我踩过最痛的坑sudo vim /var/lib/taos/dnode/dnodeEps.json确保里面的fqdn字段与当前配置完全一致{ dnodeNum: 1, dnodeInfos: [{ dnodeId: 1, dnodeFqdn: server1.iotdata.com, dnodePort: 6030 }] }4. Windows客户端配置实战4.1 安装与基础配置Windows客户端的安装过程很简单但配置环节有几个易错点修改C:\Windows\System32\drivers\etc\hosts文件需要管理员权限121.48.98.7 server1.iotdata.com配置C:\TDengine\cfg\taos.cfgfirstEp server1.iotdata.com:6030 # 注意客户端fqdn应该留空或注释掉 # fqdn client1.iotdata.com4.2 连接测试与排错打开cmd执行taos -h server1.iotdata.com常见错误及解决方案报错Unable to resolve FQDN检查hosts文件是否保存为ANSI编码报错Connection refused检查服务端防火墙6030端口报错Invalid timestamp检查服务端和客户端时区设置连接成功后可以执行基本测试CREATE DATABASE test; USE test; CREATE TABLE sensors (ts TIMESTAMP, value FLOAT); INSERT INTO sensors VALUES (NOW(), 23.5); SELECT * FROM sensors;5. 防火墙与安全加固生产环境必须考虑安全性。建议的防护措施修改默认端口修改taos.cfg的serverPort参数配置防火墙规则以CentOS为例sudo firewall-cmd --permanent --add-port6030/tcp sudo firewall-cmd --reload启用TDengine的访问控制CREATE USER admin PASS 复杂密码; GRANT ALL PRIVILEGES ON *.* TO admin;6. 日常维护技巧分享几个实用命令查看服务状态systemctl status taosd查看日志tail -f /var/log/taos/taosd.log数据目录清理sudo rm -rf /var/lib/taos/*版本检查taos --version遇到服务无法启动时可以尝试sudo taosd -c /etc/taos这样会在前台运行并输出详细日志方便排查问题。