1. Hadoop(3.1.1) 集群搭建
1.1 集群简介
Hadoop集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起
HDFS集群:
负责海量数据的存储,集群中的角色主要有 NameNode/DataNode
YARN集群:
负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager/NodeManager
本集群搭建案例,以4节点为例进行搭建,角色分配如下:
Master (192.168.248.128) NameNode,ResourceManager,SecondaryNameNode
Slave1 (192.168.248.129) DataNode, NodeManager
Slave2 (192.168.248.130) DataNode, NodeManager
Slave3 (192.168.248.131) DataNode, NodeManager
1.2 服务器准备
本案例使用虚拟机服务器来搭建Hadoop集群,所用软件及版本:
- Vmware 12.0
- Centos 6.7 64bit
1.3 网络环境准备
- 采用NAT方式联网
- 网关地址:192.168.248.2
- 4个服务器节点IP地址:192.168.248.128~131
- 子网掩码:255.255.255.0
1.4 服务器系统设置
- 添加Hadoop用户
- 为Hadoop用户分配sudoer权限
- 同步时间
- 设置主机名
- Master
- Slave1
- Slave2
- Slave3
- 配置内网域名映射:
- 192.168.248.128 Master
- 192.168.248.129 Slave1
- 192.168.248.130 Slave2
- 192.168.248.131 Slave3
- 配置ssh免密登陆
- 配置防火墙
1.5 Jdk环境安装
- 上传jdk安装包
- 规划安装目录 /opt/modules/Java/jdk
- 解压安装包
- 配置环境变量 /etc/profile
1.6 Hadoop安装部署
- 上传Hadoop安装包
- 规划安装目录 /opt/modules/Hadoop/hadoop
- 解压安装包
- 修改配置文件 $HADOOP_HOME/etc/hadoop/
最简化配置如下:
vi hadoop-env.sh
# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/opt/modules/Java/jdk
vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/Data/Hadoop/tmp</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/Data/Hadoop/NameNode,/opt/Data/Hadoop/NameNodebak</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/Data/Hadoop/DataNode,/opt/Data/Hadoop/DataNodebak</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>Master:50090</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
vi workers
Slave1
Slave2
Slave3
1.7 启动集群
初始化HDFS
bin/hadoop namenode -format
启动HDFS
sbin/start-dfs.sh
启动YARN
sbin/start-yarn.sh