前言

本篇博客内容是在虚拟机的CentOS7系统上搭建Hadoop集群的步骤,Hadoop集群的节点分为namenode和datanode,namenode可以看作是Hadoop的master节点,datanode可以看作是node节点,一个集群一般由一个namenode和多个datanode组成

一.准备工作

1.1 修改主机名

修改network文件vi /etc/sysconfig/network,添加配置
主节点配置:

NETWORKING=yes
HOSTNAME=hadoop-master

node点配置:

NETWORKING=yes
HOSTNAME=hadoop-node01

hadoop节点名字 hadoop搭建查看节点_hadoop节点名字

1.2 配置主机名和IP的映射关系

修改hosts文件vi /etc/hosts

hadoop节点名字 hadoop搭建查看节点_hadoop节点名字_02

1.3 配置静态ip

我的另一篇博客有配置静态ip的方法CentOS7和Ubuntu16设置静态ip的方法

1.4 关闭防火墙

hadoop节点名字 hadoop搭建查看节点_JAVA_03


查看防火墙状态

firewall-cmd --state

关闭防火墙

systemctl stop firewalld.service

禁止防火墙开机自启

systemctl disable firewalld.service

二.Hadoop集群搭建

在Hadoop集群的namenode和datanode的安装方式是相同的,但启动方式不同,namenode和datanode均需要进行以下步骤进行安装

2.1 安装jdk

首先上传jdk压缩包并解压
修改配置文件profilevim /etc/profile 添加以下内容,JAVA_HOME要改成你的jdk的位置,可以cd进jdk所在文件夹然后使用pwd命令

export JAVA_HOME=/usr/local/application/JDK/jdk1.8.0_11
export PATH=$PATH:$JAVA_HOME/bin

重新加载配置文件

source /etc/profile

2.2 安装Hadoop

上传Hadoop压缩包并解压,Hadoop解压完成后,只需要修改Hadoop中的五个配置文件即可,五个配置文件均在Hadoop中的etc/hadoop目录下,master节点和node节点的配置相同,均需要进行以下步骤的配置

1.hadoop-env.sh

修改export JAVA_HOME的配置,原来的配置为{JAVA_HOME},这样是得不到jdk的地址的,将其删除,改为jdk所在的绝对路径

export JAVA_HOME=/usr/local/application/JDK/jdk1.8.0_11

hadoop节点名字 hadoop搭建查看节点_hadoop节点名字_04

2.core-site.xml

添加两条配置,第一条指定Hadoop所使用的文件系统schema(URI),指定NameNode的地址,第二条指定hadoop运行时产生文件的存储目录,指定为Hadoop根目录下的tmp文件。我的Hadoop所在路径为/usr/local/application/hadoop/hadoop-2.6.4/

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop-master:9000</value>
</property>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/usr/local/application/hadoop/hadoop-2.6.4/tmp</value>
</property>

注意要在两个configuration标签之间添加配置

hadoop节点名字 hadoop搭建查看节点_JAVA_05

3.hdfs-site.xml

这条配置用于指定HDFS副本的数量,默认是3

<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>

4.mapred-site.xml

由于sbin目录下是没有直接给出mapred-site.xml文件的,所以要先用命令创建一个mapred-site.xml文件mv mapred-site.xml.template mapred-site.xml,然后添加配置,指定mr运行在yarn上

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

5.yarn-site.xml

这两条配置用于指定ResourceManager的位置及reducer获取数据的方式

<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop-master</value>
</property>
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

2.3 将Hadoop配置到PATH

全部配置完成后,需将Hadoop配置到PATH中
修改配置文件profilevim /etc/profile,添加以下内容,注意修改HADOOP_HOME

export HADOOP_HOME=/usr/local/application/hadoop/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

重新加载配置文件

source /etc/profile

2.4 Hadoop集群启动

首先启动namenode节点

启动namenode节点前,必须要先初始化namenode
运行命令

hadoop namenode -format

当看到如下图红圈所示信息时,表示namenode节点format成功,如果有错,说明之前的配置文件中很可能配置有错误,可以查看log文件寻找报错信息

hadoop节点名字 hadoop搭建查看节点_hadoop节点名字_06

格式化成功后,运行命令启动namenode节点

hadoop-daemon.sh start namenode

namenode节点成功启动后,在浏览器输入http://192.168.110.138:50070/访问namenode节点的50070端口即可看到Hadoop的管理界面,这时候集群还没有datanode节点

hadoop节点名字 hadoop搭建查看节点_JAVA_07

启动datanode节点

只需要在datanode节点上运行命令

hadoop-daemon.sh start datanode

datanode节点便可以根据配置信息自动接入集群,在Hadoop集群管理页面中可以看到datanode的信息

hadoop节点名字 hadoop搭建查看节点_JAVA_08