为了搭建hadoop 方便查看节点,把测试服务器的hostname改了。 结果TDengine 就罢工了,这软件也太···无语。 错误信息:
[root@hadoop-node02 app]
× taosd.service - TDengine server service
Loaded: loaded (/etc/systemd/system/taosd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2022-10-14 18:00:01 CST; 2 days ago
Process: 1250159 ExecStartPre=/usr/local/taos/bin/startPre.sh (code=exited, status=0/SUCCESS)
Process: 1250165 ExecStart=/usr/bin/taosd (code=exited, status=255/EXCEPTION)
Main PID: 1250165 (code=exited, status=255/EXCEPTION)
CPU: 7ms
10月 14 18:00:01 hadoop-node02 systemd[1]: taosd.service: Scheduled restart job, restart counter is at 3.
10月 14 18:00:01 hadoop-node02 systemd[1]: Stopped TDengine server service.
10月 14 18:00:01 hadoop-node02 systemd[1]: taosd.service: Start request repeated too quickly.
10月 14 18:00:01 hadoop-node02 systemd[1]: taosd.service: Failed with result 'exit-code'.
10月 14 18:00:01 hadoop-node02 systemd[1]: Failed to start TDengine server service.
查询了/var/log/taos/ 的log ,没看出来什么有用的信息。 抱怨归抱怨,查询官网FAQ,改下/var/lib/taos/dnode/dnode.json 的fqdn就好。 改了后,systemctl start taosd 可以启动成功了。 taos 也能连接上。 okay,试试自己笔记本上的客户端,还有代码连接的方式。 问题来了。 一直处于阻塞状态,没有报错信息,也不会timeout。也不会Unable to establish connection。 这问题,查都不好查。很无语 我看到FAQ里有确保客户端与服务端版本号是完全一致 这一条,服务器的版本是3.0.0,我的客户端的版本是目前(2022年10月17日)最新的 TDengine-client-3.0.1.4-Windows-x64.exe。 可是我用jdbc的方式在代码里连接的啊,pom里引入的依赖是:
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>3.0.0</version>
</dependency>
应该不会吧? 不会吧? 这个破问题纠结了一下午。 最终果然是由于版本的问题,把本地的客户端卸载了,用代码再连接,报错:
java.lang.UnsatisfiedLinkError: no taos in java.library.path
松了一口气,只要你有报错信息,那咱就好说。 查一查,是由于缺少动态链接库,FAQ里也有,但是它没写的是,这个taos.dll 文件是要装客户端才会有的,于是找一找3.0.0的客户端呗。去发布历史里找一找,竟然没有···· 去github release里找一找,竟然也没有,全是源码,难道我还要自己编译? 我真的····· 最后,想到一个歪点子,我下载时,它是把下载链接发到我邮箱里的。把链接url改一改版本行不行?还真行,是用openresty分发的···· 链接这里就不放了,人家做个开源软件多不容易呀!力所能及的给点支持吧! 下载3.0.0版本的客户端后,安装,然后代码能连接了,idea也可以了,腿也不瘸了,肾也不亏了,腰也不疼了··哈哈哈哈
这里吐槽几点: 1、win客户端强制装c盘,是要怎样 2、代码连接还要对应dll?光用jdbc driver还不行,那linux上运行的话是不是也必须要有客户端,有点烦 3、一个软件竟然要依赖hostname,改了hostname竟然要罢工,美其名曰FQDN ,目前就见过这一个,可能我阅历不够 4、哪哪儿都是taosd的命名···TDengine不挺好吗,陶哥····
|