Reputation: 243
we are try to run hive jobs on giraph, to do graph analysis, but every time we just keep bumping into new errors that we have never seen before.. and even after trying for hours we find no solutions.. now the we getting a new error..
we used following command to run hive job
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"
is there anything wrong in i/p..? just wanted to run hive job using hivegiraphrunner, with hcat inputformatvertex and outformatvertex
hadoop, hive, mysql, are working, and runnig properly (cofigured hadoop_env , hive-site) using hadoop-0.20.2 hadoop-hive (cloudera)
giraph jars were a successful build
is their something that i missed, or should configure
any suggestion will be a great help..!!
getting following exceptions..
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
Upvotes: 0
Views: 811
Reputation: 1
You can import the guava from /hive/lib.And if any other dependency arise add them to
Upvotes: 0
Reputation: 11725
Giraph has a dependency on guava 12.0 (cf. its POM, lines 752-756), which explains that MoreExecutors.sameThreadExecutor()
(introduced in 10.0) is not found if you already have r06 in hive/lib and Hive directly loads giraph in its JVM.
You could try upgrading the jar in Hive, but with such distance between the 2 versions, it could well be incompatible. In that case, I guess you may have to upgrade Hive, though I'm not a Hadoop user and don't know the details.
Upvotes: 1