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.7):
121.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.cfg:
firstEp 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-port=6030/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这样会在前台运行并输出详细日志,方便排查问题。