Hadoop Multi Node Cluster的安装

Hadoop Multi Node Cluster 规划如下图

  • 一台主要的计算机master,在HDFS担任NameNode角色,在MapReduce2(YARN)担任ResourceManager角色。
  • 多台辅助计算机data1、data2、data3,在HDFS担任DataNode角色、在MapReduce2(YARN)担任NodeManager角色。

hadoop sort reduce设置 hadoop cluster_虚拟机


Hadoop Multi Node Cluster规划

把Single Node Cluster复制到data1

hadoop sort reduce设置 hadoop cluster_虚拟机_02


命名为data1

hadoop sort reduce设置 hadoop cluster_hadoop_03

选择完全复制

hadoop sort reduce设置 hadoop cluster_NameNode_04

复制完成以后

hadoop sort reduce设置 hadoop cluster_配置_05

设置VirtualBox网卡

hadoop sort reduce设置 hadoop cluster_配置_06

最右边是Host主机,就是我们安装VirtualBox的主机,在VirtualBox上我们将创建4台虚拟主机,分别是master,data1,data2,data3

我们将在每一台虚拟主机设置了2张网卡

  • 网卡1:设置为NAT网卡,可以通过Host主机连接到外部网络(internet)
  • 网卡2:设置为仅主机适配器用于创建额内部网络,内部网路连接虚拟主机(master、data1、data2、data3)与Host主机。

设置网卡1

hadoop sort reduce设置 hadoop cluster_配置_07

设置网卡2

hadoop sort reduce设置 hadoop cluster_集群_08

hadoop sort reduce设置 hadoop cluster_集群_09

设置data1服务器

启动data1虚拟机

hadoop sort reduce设置 hadoop cluster_虚拟机_10

编辑网络配置文件设置固定IP

sudo gedit /etc/network/interfaces

hadoop sort reduce设置 hadoop cluster_hadoop_11

NAT网卡可以通过Host主机连接到外部网络(internet),设置为eth0,并且设置dhcp自动获取IP地址。

仅主机适配器用于建立内部网络,内部网络连接虚拟主机和Host主机,设置为eth1,并设置为static,即指定固定IP地址。

设置hostname

sudo gedit /etc/hosts

hadoop sort reduce设置 hadoop cluster_配置_12

建立的Hadoop集群中有4台计算机,host文件通常用于补充或取代网络中DNS的功能,和DNS不同,计算机的用户可以直接对host文件进行控制。host文件可存储计算机网络中各节点的信息,负责将主机名映射到对应的IP地址(名字解析)

编辑host文件

sudo gedit /etc/hosts

hadoop sort reduce设置 hadoop cluster_集群_13

编辑core-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

必须设置HDFS的默认名称,当使用命令或程序来读取hdfs时,可使用此名称。现在有多台计算机,所以必须指定主机名。

hadoop sort reduce设置 hadoop cluster_hadoop_14

编辑YARN-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

hadoop sort reduce设置 hadoop cluster_集群_15


上述的命令设置与说明如下:

  • ResourceManager主机与NodeManager的连接地址为8025
  • ResourceManager与ApplicationMaster的连接地址为8030
  • ResourceManager与客户端的连接地址为8050

编辑mapred-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml

mapred-site.xml用于设置监控Map与Reduce程程序的JobTracker任务分配情况,以及TaskTracker任务运行状况。

hadoop sort reduce设置 hadoop cluster_NameNode_16

编辑hdfs-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

用户设置HDFS分布式文件系统的相关配置。因为data1现在这是单纯的DataNode,所以需要删除NameNode的设置。

hadoop sort reduce设置 hadoop cluster_NameNode_17

重启data1

hadoop sort reduce设置 hadoop cluster_配置_18

确认网络设置

hadoop sort reduce设置 hadoop cluster_虚拟机_19

确认对外网络连接正常

hadoop sort reduce设置 hadoop cluster_hadoop_20

复制data1服务器到data2、data3、master

复制data2

hadoop sort reduce设置 hadoop cluster_hadoop_21


hadoop sort reduce设置 hadoop cluster_虚拟机_22

重复步骤复制data3和master

选择虚拟机内存设置

由于我的主机的内存是8G的,所以设置步骤为master:2GB,data1:1GB,data2:1GB,data3:1GB。

hadoop sort reduce设置 hadoop cluster_配置_23


设置完毕后

hadoop sort reduce设置 hadoop cluster_hadoop_24

设置data2和data3服务器

主要的设置内容是IP和hostname

设置interfaces网络配置文件

sduo gedit /etc/network/interfaces

hadoop sort reduce设置 hadoop cluster_虚拟机_25

编辑hostname文件

sudo gedit /etc/hostname

hadoop sort reduce设置 hadoop cluster_配置_26

重启data2查看网络设置是否正确

hadoop sort reduce设置 hadoop cluster_hadoop_27

表示hostname已经设置为data2,IP已经设置为192.168.56.102

同理设置data3

hadoop sort reduce设置 hadoop cluster_NameNode_28


hadoop sort reduce设置 hadoop cluster_虚拟机_29

检查设置

hadoop sort reduce设置 hadoop cluster_hadoop_30

设置master服务器

在master中需要设置固定IP地址,hostname、hfds-site.xml、masters、slaves。

编辑master的interfaces网络配置文件

sudo gedit /etc/network/interfaces

hadoop sort reduce设置 hadoop cluster_集群_31

设置master主机名

sduo gedit /etc/hostname

hadoop sort reduce设置 hadoop cluster_NameNode_32

设置hdfs-site.xml

hdfs-site.xml 用于设置HDFS分布式文件系统相关配置的设置。因为现在master只是单纯的NameNode,所以需要删除DataNode的相关设置。

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

hadoop sort reduce设置 hadoop cluster_NameNode_33

编辑master文件

告诉Hadoop系统那一台服务器是NameNode

sudo gedit /usr/local/hadoop/etc/hadoop/masters

hadoop sort reduce设置 hadoop cluster_hadoop_34

编辑slaves文件

sudo gedit /usr/local/hadoop/etc/hadoop/slaves

hadoop sort reduce设置 hadoop cluster_hadoop_35

然后重启虚拟机

查看网络设置

ifconfig

hadoop sort reduce设置 hadoop cluster_hadoop_36

master连接到data1、data2、data3 创建HDFS目录

启动master、data1、data2、data3

hadoop sort reduce设置 hadoop cluster_hadoop_37

切换到master虚拟机之后启动终端

连接到data1虚拟机

ssh data1

hadoop sort reduce设置 hadoop cluster_NameNode_38

连接到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/

中断data1连接,回到master

输入exit就可以回到master

对data2、data3做相同的操作

创建并格式化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 sort reduce设置 hadoop cluster_NameNode_39

启动Hadoop Multi Node Cluster

启动类似single模式一样,可以分别启动,也可以一起启动

start-all.sh

hadoop sort reduce设置 hadoop cluster_配置_40

查看master的进程是否启动

  • HDFS功能:NameNode、SecondaryNameNode已经启动
  • MapReduce2(YARN):ResourceManager 已经启动

hadoop sort reduce设置 hadoop cluster_虚拟机_41

查看data1的运行的进程

hadoop sort reduce设置 hadoop cluster_hadoop_42

  • HDFS功能:DataNode 已经启动
  • MapReduce2(YARN):NodeManager 已经启动

打开Hadoop ResourceManager Web界面

打开ResouceManager Web界面

在浏览器中输入http://master:8088

hadoop sort reduce设置 hadoop cluster_NameNode_43

查看已经运行的节点Nodes

hadoop sort reduce设置 hadoop cluster_配置_44

打开NameNode Web界面

用于检查当前的HDFS与DataNode运行情况

打开NameNode HDFS Web用户界面

http://master:50070

hadoop sort reduce设置 hadoop cluster_NameNode_45

查看DataNode

hadoop sort reduce设置 hadoop cluster_配置_46

停止Hadoop Multi Node Cluster

stop-all.sh

hadoop sort reduce设置 hadoop cluster_集群_47