运行giraph的配置单元作业进行图形分析时出现java问题

jqjz2hbq  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(442)

我们试图在giraph上运行hive作业,进行图形分析,但每次我们都会不断遇到以前从未见过的新错误。。即使我们试了几个小时也没有找到解决办法。。现在我们得到了一个新的错误。。
我们使用以下命令来运行配置单元作业

sudo -u hdfs hive --service jar \
    giraph-hcatalog-0.2-SNAPSHOT-jar-with-dependencies.jar \
    org.apache.giraph.io.hcatalog.HiveGiraphRunner \
    -vertexClass org.apache.giraph.vertex.MutableVertex \
    -vertexInputFormatClass org.apache.giraph.io.hcatalog.HCatalogVertexInputFormat \
    -vertexOutputFormatClass org.apache.giraph.io.hcatalog.HCatalogVertexOutputFormat \
    -w 1 -vi giraph_input -o giraph_output \
    HIVE_OPTS="-hiveconf javax.jdo.option.ConnectionURL=jdbc:mysql://localhost/metastore 
               -hiveconf javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
               -hiveconf javax.jdo.option.ConnectionUserName=root
               -hiveconf javax.jdo.option.ConnectionPassword=root
               -hiveconf datanucleus.autoCreateSchema=false
               -hiveconf datanucleus.fixedDatastore=true"

i/p有什么问题吗。。?只是想使用hivegiraprunner运行配置单元作业,使用hcat inputformatvertex和outformatvertex
hadoop、hive、mysql正在使用hadoop-0.20.2 hadoop-hive(cloudera)正常工作和运行(共同配置的hadoop\u env、hive站点)
吉拉夫罐是一个成功的建设
他们是我错过了什么,还是应该配置
任何建议都会有很大的帮助。。!!
正在获取以下异常。。

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;
    at com.google.common.cache.LocalCache.<clinit>(LocalCache.java:156)
    at com.google.common.cache.LocalCache$LocalManualCache.<init>(LocalCache.java:4765)
    at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:821)
    at org.apache.hcatalog.common.HiveClientCache.<init>(HiveClientCache.java:89)
    at org.apache.hcatalog.common.HCatUtil.getHiveClient(HCatUtil.java:537)
    at org.apache.hcatalog.mapreduce.HCatUtils.getInputJobInfo(HCatUtils.java:75)
    at org.apache.giraph.io.hcatalog.GiraphHCatInputFormat.setVertexInput(GiraphHCatInputFormat.java:81)
    at org.apache.giraph.io.hcatalog.HiveGiraphRunner.run(HiveGiraphRunner.java:174)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
    at org.apache.giraph.io.hcatalog.HiveGiraphRunner.main(HiveGiraphRunner.java:147)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
    enter code here
1zmg4dgp

1zmg4dgp1#

giraph依赖于Guava12.0(参见其pom,第752-756行),这就解释了 MoreExecutors.sameThreadExecutor() 如果在hive/lib中已经有r06,并且hive直接在其jvm中加载giraph,则找不到(在10.0中引入)。
您可以尝试升级配置单元中的jar,但是由于两个版本之间的距离太远,很可能不兼容。在这种情况下,我想你可能必须升级hive,虽然我不是hadoop用户,也不知道细节。

wb1gzix0

wb1gzix02#

您可以从/hive/lib导入Guava,如果出现任何其他依赖关系,请将它们添加到

相关问题