Exchange连接mysql8报错

  • nebula 版本:2.0
  • 部署方式:单机
  • 问题的具体描述
    mysql版本:8.0.18,mysqljar包已经放在sparkhome的jars下面。但是启动人后后报错:the driver has not received any packets from the server。经过百度说是在url后面添加useSSL=false参数。但是Exchange的mysql配置里没找到在哪里配置??

第一 启动参数里 加上了 --jars mysql-connector-java-8.0.22.jar
第二 Nebula Exchange 源码连接MySQL的地方 加上 driver 参数
第三 由于mysql8安全认证问题 需要 url 拼接 useSSL=false

  1. 确保spark集群中每台机器的spark_home jars目录下都有mysql-connector-java包
  2. 想要在url中添加useSSL的话需要在源码中增加

根据二楼的方法可以连接到mysql了,但是nebula正常跑了一段时间后,还是会在EROOR日志中疯狂打印space was not chosen,我之前以为是我们hive有问题,然后换到mysql数据源,结果还是报错。

看下你的error.path目录下是否一直有数据,你清空下再执行。
因为在你配置的tag和edge导入完成之后,会将error.path目录下的数据进行reload,此时会存在space was not chosen的问题。