Hadoop 3.0.0 警告篇

一、 虚拟机安装请确保充足的内存

主机内存 虚拟机内存 虚拟机个数
8GB 4GB 1
12GB 4GB 2
16GB 4GB 3

Hadoop的DataNode结点计算的时候所需要的最少内存为1536Mb。
集群环境下,NameNode所在主机可以不参与MapReduce的计算。
Hadoop不会智能的探测节点的物理内存总量!

修改配置文件yarn-site.xml,新增:

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>3072</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1536</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>3072</value>
</property>

经过实测I5三代,物理机内存8GB,分配三台虚拟机,每台内存各1GB,发生内存溢出,后调至2GB,依旧发生内存溢出,Map进程被强制杀死

二、 Hostname的名称内不要带“.”,“_”,“-”等常用连字符以及特殊字符!

在集群环境下,甚至单主机模式下,配置hostname的时候,不要加常用的连字符以及特殊字符!

在配置结点机的时候,不要使用类似“node.1”,“salve.1”,“node-1”,“salve-1”,“node_1”,“salve_1”,“node\1”,“salve/1”,“node:1”,“salve:1”等名称。

推荐直接使用类似于“node1”,即“结点名称结点编号”的写法

*如果在hostname名称中加入连字符,使用HDFS文件系统的时候相应正常,但是在使用MapReduce的时候可能会导致Map到DataNo的上的任务无法正常返回,在主机上无法查询到错误日志,查询结点机就会发现,java.net.会报出到client(主机)的链接错误 *

三、 jdk环境务必使用1.8.x

最开始的时候使用的环境是9.0的jdk环境,无法正常启动结点。换成1.8.x正常

四、 hosts文件相关

集群环境下,各节点的hostname以及ip地址必须在每台集群主机上都有记录。

一般来说,要求client(客户机)必须要有所有集群结点的hosts信息,secondNameNode也必须要有所有集群结点的hosts信息,结点机不需要有全部的hosts信息,但是,结点机必须要有与client以及secondNameNode的hosts信息。

五、Job内存溢出

修改配置文件mapred-site.xml,新增:

<property>  
    <name>mapreduce.reduce.shuffle.memory.limit.percent</name>  
    <value>0.17</value>  
</property>

这个配置表示,单个shuffle能够消耗的内存占reduce所有内存的比例,默认值为0.25.

六、配置自动登录

自动登录非常重要,关乎到NodeManager能否正常管理结点。
在修改hostname信息以后,可能会导致原有的ssh自动登录信息失效,需要删除结点机(DataNode)上的~/.ssh文件夹,重启主机后重新配置rsa。

七、虚拟机配置集群IP尽量使用虚拟平台自带的网络管理策略

VMware 14 手动配置的ip策略,导致虚拟机内部无法相互ping通,充值了虚拟平台网络策略后恢复。所以尽可能不要动虚拟平台默认的网络策略。
一般来说 VMware的DHCP池从128开始,配置集群环境的时候,尽可能保证ip地址不出现变动,可以手动配选3~127之间的ip段。

有些时候,vmware会将ip池内的2作为网关


Hadoop 3.0.0 安装篇

1.配置hostname

1.1.直接通过hostname配置

hostname client //修改hostname为client

1.2通过文件配置

hostname // 查看当前系统主机名
vi /etc/sysconfig/network // 编辑文件
network文件内容

NETWORKING=YES
HOSTNAME=client //将hostname修改为client

剩下安装配置请参阅:
  1. 官方: Hadoop: Setting up a Single Node Cluster.
  2. hadoop3.0 分布式搭建/安装
  3. CentOS 6.5下hadoop3.0集群搭建
配置文件说明:
  1. 官方:Hadoop Cluster Setup
  2. Hadoop YARN中内存的设置
  3. Hadoop/Yarn/MapReduce内存分配(配置)方案