在Hadoop 2上运行作业时无法初始化集群exception
问题与我之前的问题相关联所有守护进程都在运行,jps显示:
6663 JobHistoryServer 7213 ResourceManager 9235 Jps 6289 DataNode 6200 NameNode 7420 NodeManager
但wordcount
示例继续失败,出现以下exception:
ERROR security.UserGroupInformation: PriviledgedActionException as:root (auth:SIMPLE) cause:java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120) at org.apache.hadoop.mapreduce.Cluster.(Cluster.java:82) at org.apache.hadoop.mapreduce.Cluster.(Cluster.java:75) at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1238) at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1234) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.mapreduce.Job.connect(Job.java:1233) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1262) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286) at WordCount.main(WordCount.java:80) 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)
由于它说问题在于配置,我在这里发布配置文件。 目的是创建单个节点集群。
纱的site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
核心的site.xml
fs.default.name hdfs://localhost:9000
HDFS-site.xml中
dfs.replication 1 dfs.namenode.name.dir file:/home/hduser/yarn/yarn_data/hdfs/namenode dfs.datanode.data.dir file:/home/hduser/yarn/yarn_data/hdfs/datanode
mapred-site.xml中
mapreduce.framework.name Yarn
请告诉我缺少什么或我做错了什么。
你有大写Yarn
,这可能是它解决它的原因。 尝试官方文档中建议的小写版本。
mapreduce.framework.name yarn
我有类似的问题,但纱线不是问题。 将以下jar添加到我的类路径后,问题得到了解决:
- Hadoop的MapReduce的客户jobclient-2.2.0.2.0.6.0-76
- Hadoop的MapReduce的客户共2.2.0.2.0.6.0-76
- Hadoop的MapReduce的客户洗牌2.2.0.2.0.6.0-76
看起来我有一个幸运的日子,并通过“所有”这些原因去了这个例外。 概要:
- 错误的mapreduce.framework.name(见上文)
- 缺少mapreduce job-client jar(见上文)
- 错误的版本(请参阅无法初始化群集。请检查您的配置mapreduce.framework.name和相应的服务器地址 – 提交job2remoteClustr )
- 我配置的’yarn.ipc.client.factory.class’不在纱线服务器的类路径中(仅在客户端上)
在我的情况下,我试图使用sqoop并遇到此错误。 事实certificate我指的是CDH repo提供的最新版本的hadoop 2.0,不支持sqoop。 cloudera的版本是2.0.0-cdh4.4.0,其中有纱线支撑。
当我在hadoop-0.20下使用2.0.0-cdh4.4.0时,问题就消失了。
希望这可以帮助。
将mapreduce_shuffle更改为mapreduce.shuffle使其在我的情况下工作