在配置完成启动集群时,碰到一些错误。记录下来。
1:2018-05-16 07:37:19,231 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
根据网上的教程。是他写错了。
解决方法:修改yarn-site.xml中错误的写法:应该为下划线。不是点
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
修改后:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
2:2018-05-16 07:24:16,353 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMainjava.net.UnknownHostException: hadoop2: hadoop2
at java.net.InetAddress.getLocalHost(InetAddress.java:1360)
at org.apache.hadoop.security.SecurityUtil.getLocalHostName(SecurityUtil.java:187)
at org.apache.hadoop.security.SecurityUtil.login(SecurityUtil.java:207)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2217)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2266)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2442)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2466)
2018-05-16 07:24:16,355 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2018-05-16 07:24:16,358 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at java.net.UnknownHostException: hadoop2: hadoop2
在启动Hadoop时,会有一大堆的Log提示你log存在什么目录下。这些错都是目录中找出来的,所以要学会看日志。
这个错误是因为 主机名和IP无法对应。所以找不到datanode。
解决方法:编辑 /etc/hosts 文件: 把主机以及对应IP都写上。每个在集群中的机器都应该这么写才可以。