Hadoop 2.x 安装常见问题FAQ(一) NodeManager 无法启动问题解决
一、问题描述
在搭建 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>
从新启集群,问题解决。