1. hadoop集群:
1.1 系统及硬件配置:
hadoop版本:2.6 ;三台虚拟机:node101(192.168.0.101)、node102(192.168.0.102)、node103(192.168.0.103); 每台机器2G内存、1个CPU核;
node101: NodeManager、 NameNode、ResourceManager、DataNode;
node102: NodeManager、DataNode 、SecondaryNameNode、JobHistoryServer;
node103: NodeManager 、DataNode;
1.2 配置过程中遇到的问题:
1) NodeManager启动不了;
最开始配置的虚拟机配置的是512M内存,所以在yarn-site.xml 中的“
yarn.nodemanager.resource.memory-mb”配置为512(其默认配置是1024),查看日志,报错:
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Recieved SHUTDOWN signal from Resourcemanager ,
Registration of NodeManager failed, Message from ResourceManager:
NodeManager from node101 doesn't satisfy minimum allocations, Sending SHUTDOWN signal to the NodeManager.
把它改为1024或者以上就可以正常启动NodeManager了,我设置的是2048;
2) 任务可以提交,但是不会继续运行
a. 由于这里每个虚拟机只配置了一个核,但是yarn-site.xml里面的“
yarn.nodemanager.resource.cpu-vcores”默认配置是8,这样在分配资源的时候会有问题,所以把这个参数配置为1;
b. 出现下面的错误:
is running beyond virtual memory limits. Current usage: 96.6 MB of 1.5 GB physical memory used;
1.6 GB of 1.5 GB virtual memory used. Killing container.
这个应该是map、reduce、NodeManager的资源配置没有配置好,大小配置不正确导致的,但是我改了好久,感觉应该是没问题的,但是一直报这个错,最后没办法,把这个检查去掉了,即把yarn-site.xml 中的“
yarn.nodemanager.vmem-check-enabled”配置为false;这样就可以提交任务了。
1.3 配置文件(希望有高人可以指点下资源配置情况,可以不出现上面b的错误,而不是使用去掉检查的方法):
1)hadoop-env.sh 和yarn-env.sh 中配置jdk,同时HADOOP_HEAPSIZE和YARN_HEAPSIZE配置为512;
2)hdfs-site.xml 配置数据存储路径和secondaryname所在节点:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:data/hadoop/hdfs/name</value>
<description>Determines where on the local filesystem the DFS