常见问题及反馈
问题反馈
如果 FAQ 中的信息不能够帮到您,需要 TDengine 技术团队的技术支持与协助,请将以下两个目录中内容打包:
- /var/log/taos (如果没有修改过默认路径)
- /etc/taos(如果没有指定其他配置文件路径)
附上必要的问题描述,包括使用的 TDengine 版本信息、平台环境信息、发生该问题的执行操作、出现问题的表征及大概的时间,在 GitHub 提交 issue。
为了保证有足够的 debug 信息,如果问题能够重复,请修改/etc/taos/taos.cfg 文件,最后面添加一行“debugFlag 135"(不带引号本身),然后重启 taosd, 重复问题,然后再递交。也可以通过如下 SQL 语句,临时设置 taosd 的日志级别。
alter dnode <dnode_id> 'debugFlag' '135';
其中 dnode_id 请从 show dnodes; 命令输出中获取。
但系统正常运行时,请一定将 debugFlag 设置为 131,否则会产生大量的日志信息,降低系统效率。
常见问题列表
1. TDengine3.0 之前的版本升级到 3.0 及以上的版本应该注意什么?
3.0 版在之前版本的基础上,进行了完全的重构,配置文件和数据文件是不兼容的。在升级之前务必进行如下操作:
- 删除配置文件,执行
sudo rm -rf /etc/taos/taos.cfg
- 删除日志文件,执行
sudo rm -rf /var/log/taos/
- 确保数据已经不再需要的前提下,删除数据文件,执行
sudo rm -rf /var/lib/taos/
- 安装最新3.0稳定版本的 TDengine
- 如果需要迁移数据或者数据文件损坏,请联系涛思数据官方技术支持团队,进行协助解决
2. Windows 平台下 JDBCDriver 找不到动态链接库,怎么办?
请看为此问题撰写的 技术博客。
3. 如何让 TDengine crash 时生成 core 文件?
请看为此问题撰写的 技术博客。
4. 遇到错误“Unable to establish connection” 怎么办?
客户端遇到连接故障,请按照下面的步骤进行检查:
- 检查网络环境
- 云服务器:检查云服务器的安全组是否打开 TCP/UDP 端口 6030/6041 的访问权限
- 本地虚拟机:检查网络能否 ping 通,尽量避免使用
localhost
作为 hostname - 公司服务器:如果为 NAT 网络环境,请务必检查服务器能否将消息返回值客户端
-
确保客户端与服务端版本号是完全一致的,开源社区版和企业版也不能混用
-
在服务器,执行
systemctl status taosd
检查taosd运行状态。如果没有运行,启动taosd -
确认客户端连接时指定了正确的服务器 FQDN (Fully Qualified Domain Name —— 可在服务器上执行 Linux/macOS 命令 hostname -f 获得),FQDN 配置参考:一篇文章说清楚 TDengine 的 FQDN。
-
ping 服务器 FQDN,如果没有反应,请检查你的网络,DNS 设置,或客户端所在计算机的系统 hosts 文件。如果部署的是 TDengine 集群,客户端需要能 ping 通所有集群节点的 FQDN。
-
检查防火墙设置(Ubuntu 使用 ufw status,CentOS 使用 firewall-cmd --list-port),确保集群中所有主机在端口 6030/6041 上的 TCP/UDP 协议能够互通。
-
对于 Linux 上的 JDBC(ODBC, Python, Go 等接口类似)连接, 确保libtaos.so在目录*/usr/local/taos/driver里, 并且/usr/local/taos/driver在系统库函数搜索路径LD_LIBRARY_PATH*里
-
对于 macOS 上的 JDBC(ODBC, Python, Go 等接口类似)连接, 确保libtaos.dylib在目录*/usr/local/lib里, 并且/usr/local/lib在系统库函数搜索路径LD_LIBRARY_PATH*里
-
对于 Windows 上的 JDBC, ODBC, Python, Go 等连接,确保C:\TDengine\driver\taos.dll在你的系统库函数搜索目录里 (建议taos.dll放在目录 C:\Windows\System32)
-
如果仍不能排除连接故障
-
Linux/macOS 系统请使用命令行工具 nc 来分别判断指定端口的 TCP 和 UDP 连接是否通畅 检查 UDP 端口连接是否工作:
nc -vuz {hostIP} {port}
检查服务器侧 TCP 端口连接是否工作:nc -l {port}
检查客户端侧 TCP 端口连接是否工作:nc {hostIP} {port}
-
Windows 系统请使用 PowerShell 命令 Test-NetConnection -ComputerName {fqdn} -Port {port} 检测服务段端口是否访问
- 也可以使用 taos 程序内嵌的网络连通检测功能,来验证服务器和客户端之间指定的端口连接是否通畅:运维指南。
5. 遇到错误 Unable to resolve FQDN” 怎么办?
产生这个错误,是由于客户端或数据节点无法解析 FQDN(Fully Qualified Domain Name)导致。对于 TAOS Shell 或客户端应用,请做如下检查:
- 请检查连接的服务器的 FQDN 是否正确,FQDN 配置参考:一篇文章说清楚 TDengine 的 FQDN
- 如果网络配置有 DNS server,请检查是否正常工作
- 如果网络没有配置 DNS server,请检查客户端所在机器的 hosts 文件,查看该 FQDN 是否配置,并是否有正确的 IP 地址
- 如果网络配置 OK,从客户端所在机器,你需要能 Ping 该连接的 FQDN,否则客户端是无法连接服务器的
- 如果服务器曾经使用过 TDengine,且更改过 hostname,建议检查 data 目录的 dnode.json 是否符合当前配置的 EP,路径默认为/var/lib/taos/dnode。正常情况下,建议更换新的数据目录或者备份后删除以前的数据目录,这样可以避免该问题。
- 检查/etc/hosts 和/etc/hostname 是否是预配置的 FQDN
6. 最有效的写入数据的方法是什么?
批量插入。每条写入语句可以一张表同时插入多条记录,也可以同时插入多张表的多条记录。