我一直在尝试在具有Hadoop 2.7.3和Giraph 1.3.0的Ubuntu服务器上运行Apache Giraph作业。我还尝试在具有较低版本Giraph(1.2 / 1.1)的Hadoop 2.6上运行相同的作业。但是在两种情况下我都会收到以下错误。
Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.hadoop.ipc.Client.setPingInterval(Lorg/apache/hadoop/conf/Configuration;I)V from class org.apache.giraph.job.GiraphJob
at org.apache.giraph.job.GiraphJob.run(GiraphJob.java:213)
at org.apache.giraph.GiraphRunner.run(GiraphRunner.java:94)
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:124)
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.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
有没有人遇到过类似的情况?
最佳答案
由于您的hadoop版本,在hadoop 2.6.0中已更改setPingInterval()
方法的访问修饰符,将您的hadoop版本降级为2.5.1,即可正常工作。
关于hadoop - apache giraph:java.lang.IllegalAccessError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42619434/