一、問題描述
在搭建 Hadoop hadoop-2.4.1 集群的最后一步啟動集群,在命令窗口並沒有報任何錯誤,但是Slave 節點的 NodeManager進程始終啟動不起來。隨后查看了后台啟動日志yarn-hadoop-nodemanager-Slave1.Hadoop.log,發現如下錯誤:
- 2014-08-01 01:02:17,228 FATAL org.apache.hadoop.yarn.server.nodemanager.containermanager.AuxServices: Failed to initialize mapreduce.shuffle
- java.lang.IllegalArgumentException: The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid.The valid service name should only contain a-zA-Z0-9_ and can not start with numbers
- at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
- at org.apache.hadoop.yarn.server.nodemanager.containermanager.AuxServices.serviceInit(AuxServices.java:98)
- at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
- at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107)
- at org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl.serviceInit(ContainerManagerImpl.java:221)
- at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
- at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107)
- at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:188)
- at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
- at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:357)
- at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:405)
- 2014-08-01 01:02:17,235 INFO org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.yarn.server.nodemanager.containermanager.AuxServices failed in state INITED; cause: java.lang.IllegalArgumentException: The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid.The valid service name should only contain a-zA-Z0-9_ and can not start with numbers
- java.lang.IllegalArgumentException: The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid<strong>.<span style="font-size:14px;color:#ff0000;">The valid service name should only contain a-zA-Z0-9_ and can not start with numbers</span></strong>
- /************************************************************
- SHUTDOWN_MSG: Shutting down NodeManager at Slave1.Hadoop/192.168.1.3
- ************************************************************/
二、問題解決
發現yarn-site.xml配置不符合要求。修改如下:
原來錯誤的配置:
- <property>
- <span style="white-space:pre"> </span><name>yarn.nodemanager.aux-services</name>
- <span style="white-space:pre"> </span><value><strong><span style="color:#ff0000;">mapreduce.shuffle</span></strong></value>
- </property>
修改后正確配置:
- <property>
- <span style="white-space:pre"> </span><name>yarn.nodemanager.aux-services</name>
- <span style="white-space:pre"> </span><value><span style="color:#ff0000;"><strong>mapreduce_shuffle</strong></span></value>
- </property>
從新啟集群,問題解決。