Hadoop Multi Node Cluster 架构必须有4台实体服务器才能建立,以发挥多台计算机并行处理的优势
使用 Virtual Box 创建4台虚拟机 master, data1, data2, data3
把 Single Node Cluster 复制到 data1
设置 VirtualBox 网卡
网卡1
设置为“NAT网卡”, 可以通过Host主机【安装Virtual Box那台电脑】连接到外部网络(internet)
网卡2
设置为“仅主机适配器”(这里的适配器指的是网卡),用于创建内部网络,内部网络连接虚拟主机(master, data1, data2, data3)与 Host主机
设置 data1 服务器
启动 data1 服务器
设置data1 虚拟主机每次开机都是使用固定IP: 192.168.56.101
编辑网络配置文件设置固定IP
sudo vim /etc/network/interfaces
设置网卡1、网卡2
添加内容为
# NAT interface
auto eth0
iface eth0 inet dhcp
# host only interface
auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
设置 hostname
sudo vim /etc/hostname
编辑内容
设置hosts文件
sudo vim /etc/hosts
编辑内容
编辑 core-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
编辑 YARN-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
添加内容
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8050</value>
</property>
</configuration>
编辑 mapred-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
编辑内容
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:54311</value>
</property>
</configuration>
编辑 hdfs-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value> file:/usr/local/hadoop/hadoop_data/hdfs/datanode </value>
</property>
</configuration>
重新启动系统
确认网络设置
复制data1 服务器到 data2、data3、master
重复步骤复制3个虚拟机:
物理内存8G,建议设置为:
master: 2GB
data1: 1GB
data2: 1GB
data3: 1GB
设置 data2 服务器
编辑 interfaces 网络配置文件
sudo vim /etc/network interfaces
编辑 hostname 文件
sudo vim /etc/hostname
重启服务器 查看网络设置
ifconfig
设置 data3 服务器
编辑 interfaces 网络配置文件
sudo vim /etc/network/interfaces
编辑 hostname 文件
sudo vim /etc/hostname
重启 服务器 查看网络设置
ifconfig
设置 master 服务器
编辑 interfaces 网络配置文件
sudo vim /etc/network/interfaces
编辑 hostname 文件
sudo vim /etc/hostname
编辑 hdfs-site.xml
sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
编辑内容
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value> file:/usr/local/hadoop/hadoop_data/hdfs/namenode </value>
</property>
编辑 master 文件
sudo vim /usr/local/hadoop/etc/hadoop/masters
编辑 slaves 文件
sudo vim /usr/local/hadoop/etc/hadoop/slaves
重启服务器 查看网络设置
ifconfig
master 连接到 data1、data2、data3 创建HDFS目录
同时启动4个服务器
连接到data1服务器
ssh data1
对 data1 创建HDFS相关目录
删除 HDFS 所有目录
sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
创建 DataNode 存储目录
mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
将目录的所有者更改为hduser
sudo chown -R hduser:hduser /usr/local/hadoop
中断连接,回到 master
exit
连接到 data2 服务器
ssh data2
对 data2创建HDFS相关目录
删除 HDFS 所有目录
sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
创建 DataNode 存储目录
mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
将目录的所有者更改为hduser
sudo chown -R hduser:hduser /usr/local/hadoop
中断连接,回到 master
exit
连接到 data3 服务器
ssh data3
对 data3创建HDFS相关目录
删除 HDFS 所有目录
sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
创建 DataNode 存储目录
mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
将目录的所有者更改为hduser
sudo chown -R hduser:hduser /usr/local/hadoop
中断连接,回到 master
exit
创建并格式化 NameNode HDFS 目录
在 master 服务器上,创建 NameNode HDFS 目录
删除之前的HDFS目录
sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
创建 NameNode 目录
mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
将 目录的所有者更改为 hduser
sudo chown -R hduser:hduser /usr/local/hadoop
格式化 NameNode HDFS 目录
hadoop namenode -format
启动 Hadoop Multi Node Cluster
分别启动 HDFS 与 YARN
命令 | 说明 |
---|---|
start-dfs.sh | 启动HDFS |
start-YARN.sh | 启动 Hadoop MapReduce 框架 YARN |
同时启动 HDFS 与 YARN
命令 | 说明 |
---|---|
start-all.sh | 同时启动HDFS与YARN |
查看 master (NameNode) 的进程 (process) 是否启动
jps
查看data1 服务器 所运行的进程
ssh data1
jps
exit
打开 Hadoop ResourceManager Web 界面
http://master:8088/
打开 NameNode Web 界面
http://master:50070/
停止 Hadoop Multi Node Cluster
stop-all.sh
问题解决办法
使用virtualBox配置访问虚拟机网络时,需要配置仅主机(Host-Only)配置器,但界面名称,一直是未指定,不能保存
【Virtual Box】->【管理】-> 【主机网络管理器】