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包吗?

浙ICP备20010487号