【TDengine 使用环境】
生产环境
【TDengine 版本】
3.0.2.0
【操作系统以及版本】
centos 7 Linux
【部署方式】容器/非容器部署
非容器
【集群节点数】
0
【集群副本数】
0
【描述业务影响】
无
【问题复现路径/shan】做过哪些操作出现的问题
无
【遇到的问题:问题现象及影响】
要将 TDengine 数据存储迁移到 /home目录下,请按以下步骤操作。请务必在执行前停止服务并备份重要数据。
第一步:停止 TDengine 服务
停止 TDengine 服务
sudo systemctl stop taosd taosadapter
第二步:创建新的数据目录
创建新的数据存储目录,例如 /home/tdengine/data
sudo mkdir -p /home/tdengine/data
创建新的日志目录
sudo mkdir -p /home/tdengine/log
设置正确的所有权(让 taosd 用户拥有该目录)
sudo chown -R taosd:taosd /home/tdengine
设置适当的权限
sudo chmod 755 /home/tdengine
sudo chmod 700 /home/tdengine/data
sudo chmod 700 /home/tdengine/log
第三步:修改配置文件
编辑 TDengine 配置文件 /etc/taos/taos.cfg:
sudo nano /etc/taos/taos.cfg
找到并修改以下两行(如果不存在则添加):
第一数据目录
dataDir /home/tdengine/data
第一日志目录
logDir /home/tdengine/log
保存并退出。
第四步:迁移现有数据(重要!)
如果这是新安装,可跳过此步。如果要保留历史数据,必须执行:
停止服务后,复制原数据到新位置
sudo cp -a /var/lib/taos/data/* /home/tdengine/data/
sudo cp -a /var/log/taos/* /home/tdengine/log/
确认复制完成后,可备份原目录(可选)
sudo mv /var/lib/taos /var/lib/taos.backup
sudo mv /var/log/taos /var/log/taos.backup
第五步:更新符号链接(如果使用)
由于安装脚本创建了符号链接,也需要更新:
删除旧的符号链接
sudo rm -f /usr/local/taos/data
sudo rm -f /usr/local/taos/log
创建新的符号链接
sudo ln -sf /home/tdengine/data /usr/local/taos/data
sudo ln -sf /home/tdengine/log /usr/local/taos/log
第六步:修改 systemd 服务文件(如有必要)
检查服务文件是否硬编码了数据路径:
查看 taosd 服务文件
sudo systemctl cat taosd | grep -i “data\|log”
如果服务文件中有 --dataDir或 --logDir参数,需要修改 /etc/systemd/system/taosd.service文件,移除或更新这些参数。通常只需修改 taos.cfg即可。
第七步:重新启动服务
重新加载 systemd 配置
sudo systemctl daemon-reload
启动服务
sudo systemctl start taosd
sudo systemctl start taosadapter
检查服务状态
sudo systemctl status taosd
第八步:验证配置
连接 TDengine 并验证新路径:
连接 TDengine
taos
执行SQL命令查看数据目录
SHOW DNODES;
在返回结果中,查看 data_dir列,应显示为新路径 /home/tdengine/data。
第九步:清理旧数据(谨慎操作)
确认新位置运行正常后,可删除备份的旧数据:
确认新服务运行正常后
sudo rm -rf /var/lib/taos.backup
sudo rm -rf /var/log/taos.backup
关键注意事项
磁盘空间:确保 /home分区有足够空间存储时序数据
权限问题:必须确保 taosd:taosd用户对 /home/tdengine目录有完全访问权限
集群环境:在集群中,每个节点都需要执行相同的路径修改
SELinux/AppArmor:如果系统启用了安全模块,可能需要调整策略:
对于 SELinux(如 CentOS/RHEL)
sudo semanage fcontext -a -t taosd_data_t “/home/tdengine/data(/.*)?”
sudo restorecon -Rv /home/tdengine
对于 AppArmor(如 Ubuntu)
可能需要编辑 /etc/apparmor.d/usr.bin.taosd
备份配置:修改前备份配置文件:
sudo cp /etc/taos/taos.cfg /etc/taos/taos.cfg.backup
【资源配置】
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)