编译exchange 2.0后,按照官网1.0的使用教程使用,无法执行指令
–class 写错了,2.0的主类是: com.vesoft.nebula.exchange.Exchange
你环境中的Spark版本、Hadoop版本和Hive版本发一下吧
NoSuchMethodError一般是存在jar包冲突
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的数据
- spark-shell 进入spark shell
- 执行命令查看hive中的库
spark.sql("show databases").show()
版本匹配问题解决后,遇到了下面的问题
顶点插入成功的,这是边的问题,没明白,看log的话,这INSERT的语句格式看起来没问题的
你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>
好的,了解了,感谢最近的支持解答
你好,我和你的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)