小伙伴介绍!
大家好,我是 zai,一个基本功不那么扎实、没有太多经验的大学生。我刚刚加入社区,接触 IoTDB,目前仍处于学习阶段,所以我会跟大家分享我学习过程中踩过的一些雷,以及对应的解决办法,希望大家多多指教!
作为 IoTDB 小白,认识软件的第一步必然是跑一遍安装操作,于是下面是我安装 IoTDB 过程中踩过的一些雷。
1
JDK安装
可以看到,我在运行之后,报错无法加载主类,这时候说明 java 环境有问题:
可不管是我直接输出 classpath,还是查询 jdk 版本都可以有正确的结果:
经过我一系列的资料查询过程,发现是我画蛇添足设置了 classpath。这是由于 Java 编译器和虚拟机会默认在当前工作目录中搜索类文件。由于我的项目和类文件在同一盘,然而我强行要求去其他文件夹找类,所以就无法找到了。解决方案便是把环境变量中设置的 classpath 删除即可(这部分主要是 JVM 的知识)。
2
启动失败(完全没有反应)
这一步,我运行文件之后,完全没有输出,没有报错,但同时也没有后续的运行结果。
最后的解决是:发现我的 start-cli.bat 是空的(也就是 0KB),所以解决方案就是重新解压缩。
(这步应该是电脑的问题,或者说解压缩软件的问题,确实很奇怪,写出来,给有需要的大家一点参考)
3
启动失败(Connection error)
输入sbin\start-standalone.bat之后,输入sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root,但是会显示:
提示说我 server 没有开,可是我之前已经看到 successful 了(如下图),说明我的电脑可以启动运行。
成功了的解决方案是输入 sbin\start-standalone.bat 之后的页面不要关,再开一个 cmd 窗口,然后输入 sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root。
我的理解是:输入 sbin\start-standalone.bat 之后,启动了服务端应用程序,关闭窗口就意味着直接关闭程序,而 start-cli.bat 是启动命令行界面的,如果这时服务端已经关闭,那么命令行界面的启动也就没有意义,所以也就没有后续的运行结果了。
4
图形界面的连接
(DBeaver/DataGrip)
这一步不是启动的强制要求,但是图形界面的操作可以带来很多便捷性,所以我也进行了连接尝试。
由于之前我一直没有找到 IoTDB 的选项,所以我一直以为连不上。然后发现没有的原因是没有 IoTDB 的驱动,所以只需要自己新增驱动就可以。
方法如下:
DBeaver:数据库 -> 驱动管理器 -> 新建
DataGrip:数据库资源管理器 -> + -> 驱动程序
有了驱动,就可以正常地去连接了。
5
小结
官方文档是很完善的,但是个人安装的时候由于设备(比如操作系统,或者其他软件不一致)等潜在的问题,可能会有些小问题,我觉得这些还挺增长 debug 的经验的。目前我遇到的安装相关的问题都已经在上文中列出,同时给出了我的解决方案供大家参考~
作为全球性开源项目,截至目前,Apache IoTDB 已拥有 257 名贡献者、3.3K Stars、909 Forks、9434 Commits。我们为大家提供了参与指南,欢迎越来越多的小伙伴助力 Apache IoTDB 项目的不断发展与前进,迈出加入 Apache IoTDB 社区的第一步!