nebula exchange 2.0使用异常

编译exchange 2.0后,按照官网1.0的使用教程使用,无法执行指令

–class 写错了,2.0的主类是: com.vesoft.nebula.exchange.Exchange

1 个赞

改了class,遇到了下面的报错

你环境中的Spark版本、Hadoop版本和Hive版本发一下吧
NoSuchMethodError一般是存在jar包冲突

1 个赞

Hadoop 3.0.0+cdh6.3.2
Hive 2.1.1+cdh6.3.2
spark 2.4.0+cdh6.3.2
Scala 2.11.12
信息如上,帮忙看看哪里不对吗

需要检查下hive.metastore使用的版本, 应该与exchange中使用的版本存在冲突。
exchange中使用的hive-metastore版本如下:

你可以先看下执行exchange的环境中,spark能否读到hive的数据

  1. spark-shell 进入spark shell
  2. 执行命令查看hive中的库
    spark.sql("show databases").show()
1 个赞

版本匹配问题解决后,遇到了下面的问题
image

顶点插入成功的,这是边的问题,没明白,看log的话,这INSERT的语句格式看起来没问题的

conf文档是这样


这里还有一个问题,明明spark里面强制将列转成int类型,但是最终还是转化成string操作

SHOW SPACE spaceName 看下space的vid_type
根据插入语句,vid_type应该是FIXED_STRING,看是不是id的长度超过了 vid_type设置的长度。

exchange中没有强制将列转为int,只会针对String类型的id和属性做转化处理。

嗯,了解了,大致知道这个问题怎么回事了,修改空间定义后,数据进来了,但是最后阶段还是有个报错,不知道怎么回事

这个问题是hadoop中常见的,需要修改下hadoop中core-site.xml中配置:

<property>
    <name>fs.hdfs.impl.disable.cache</name>
    <value>true</value>
</property>
1 个赞

好的,了解了,感谢最近的支持解答

你好,我和你的cdh版本一样,也遇到了和你一样的问题,请问是如何解决匹配问题的?
直接把1.2.1这个版本的jar包替换掉cdh的 /opt/parcel/…/所有jar包所在的目录 下cdh的默认版本jar包吗?

你好,我的cdh版本和你的一样,也报同样的异常,想问下,这个hive的metastore版本适配是怎么做的,可以分享下吗?

您好,你的这个问题解决了吗?我cdh环境也是6.3.2,也遇到同样的问题,想问下,您是怎么解决的

大佬,您好,我想问下这个hive的metastore版本匹配这个得怎么操作,我把exchange中的hive的metastore jar包替换了cdh 6.3.2 中的hive 的jar包后还是同样的错,而且metastore 替换后hive重启失败

https://discuss.nebula-graph.com.cn/t/topaic/5933/3

不要重复提问同一个问题,会造成回复资源浪费的。回复以上面的帖子为准,最后建议阅读下 Code of Conduct 论坛使用规范 (最后更新于 2021.08.31)