I'm having problems running the shortest path example on AWS. I downloaded the giraph jar through S3 (compiled inside the same AMI that i'm using and uploaded for that there ) , configured correctly zookeper in both master and slave, and i did the following steps:
nano /tmp/tiny_graph.txt
[0,0,[1,1,3,3]] [1,0,[0,1,2,2,3,1]] [2,0,[1,2,4,4]] [3,0,[0,3,1,1,4,4]] [4,0,[3,4,2,4]]
hdfs dfs -mkdir /user/hduser
hdfs dfs -mkdir /user/hduser/output
/home/hadoop/bin/yarn jar /home/hadoop/share/hadoop/yarn/lib/giraph.jar org.apache.giraph.GiraphRunner org.apache.giraph.examples.SimpleShortestPathsComputation -vif org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat -vip /user/hduser/input/tiny_graph.txt -vof org.apache.giraph.io.formats.IdWithValueTextOutputFormat -op /user/hduser/output/shortestpaths -w 2
The console show me this and i don't have a clue of what's happening:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
SLF4J: Found binding in
SLF4J: Found binding in
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type http://org.slf4j.impl.Log4jLoggerFactory
16/04/17 04:44:46 INFO utils.ConfigurationUtils: No edge input format specified. Ensure your InputFormat does not require one.
16/04/17 04:44:46 INFO utils.ConfigurationUtils: No edge output format specified. Ensure your OutputFormat does not require one.
16/04/17 04:44:46 INFO yarn.GiraphYarnClient: Final output path is: maprfs:/user/hduser/output/shortestpaths
16/04/17 04:44:46 INFO impl.TimelineClientImpl: Timeline service address: http://0.0.0.0:8188/ws/v1/timeline/
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.yarn.util.timeline.TimelineUtils.buildTimelineTokenService(Lorg/apache/hadoop/conf/Configuration;)Lorg/apache/hadoop/io/Text;
at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:156)
at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
at org.apache.giraph.yarn.GiraphYarnClient.<init>(GiraphYarnClient.java:104)
at org.apache.giraph.GiraphRunner.run(GiraphRunner.java:83)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.giraph.GiraphRunner.main(GiraphRunner.java:126)
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:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Any help will be greatly apreciated!
I solved this when i stop using MapR on AWS. For some reason Giraph and MapR doesn't get along.