1 环境准备

1.1 虚拟机准备

序号

host

ip

操作系统

主节点

master

192.168.14.15

centOS7

从节点

slave0

192.168.14.16

centOS7

从节点

slave1

192.168.14.17

centOS7

1.2 JAVA环境

hadoop是纯JAVA开发的,所以需要java环境,具体配置自行百度,网上教程很多,这里不再过多介绍了。

1.3 hadoop下载

根据需求,去官网下载相应版本的hadoop软件包:
http://archive.apache.org/dist/hadoop/core/ hadoop集群安装的软件包配置要求是一样的,所以先下载到一个节点改完了,scp到其他节点即可。

2 服务器免密登录

由于hadoop启动在一个节点启动后,会远程把其他节点一同启动,会输入很多次其他服务的密码,可以将集群的几台虚拟机做成免密登录。这样方便很多。
具体做法参考博客:

3 配置文件

上面已经说了,hadoop集群使用的软件包配置都是相同的,所以只需要在一个节点修改完之后,直接将修改的好的软件包发送给其他节点,这里选择master节点进行修改。

3.1 配置env文件

修改vi /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh文件,配置JAVA_HOME,根据实际情况自行修改

hadoop集群安装过程 hadoop集群下载_hadoop集群安装过程

3.2 配置core文件

修改vi /opt/hadoop/hadoop/etc/hadoop/core-site.xml文件,在<configuration></configuration>之间添加下面配置

<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/hadoop/hadoopdata</value>
	</property>

第二个参数配置的dhfs的文件路径,需要在这个路径下创建文件夹

mkdir -p /opt/hadoop/hadoopdata

3.3 配置hdfs文件

修改vi /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml文件,在<configuration></configuration>之间添加下面配置

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

3.4 配置yarn文件

修改vi /opt/hadoop/hadoop/etc/hadoop/yarn-site.xml文件,在<configuration></configuration>之间添加下面配置

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.resourcemanager.address</name>
	<value>master:18040</value>
</property>
<property>
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>master:18030</value>
</property>
<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>master:18025</value>
</property>
<property>
	<name>yarn.resourcemanager.admin.address</name>
	<value>master:18141</value>
</property>
<property>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>master:18088</value>
</property>

3.5 配置mapreduce文件

需要将/opt/hadoop/hadoop/etc/hadoop下的mapred-site.xml.template文件复制一份,改名为mapred-site.xml

cp /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml

修改文件vi /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml,在<configuration></configuration>之间添加下面配置

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

3.6 配置slaves文件

slaves文件告诉hadoop集群的所有节点列表,启动hadoop集群时,系统会根据slaves文件中的host启动其他节点。

vi /opt/hadoop/hadoop/etc/hadoop/slaves

开始已经配置了slave0slave1,所以添加这两个节点的host

slave0
slave1

注意:删除slaves文件中原来localhost那一行!

4. 启动

4.1 文件发送

将master节点上修改好的hadoop软件包发送给其他连个节点

scp -r /opt/hadoop root@slave0:/opt
scp -r /opt/hadoop root@slave1:/opt

4.2 环境变量

在三个hadoop节点上都设置hadoop的环境变量,
/etc/profile文件最后添加下面内容

#HADOOP
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

更新环境变量

source /etc/profile

格式化文件系统

hadoop namenode -format

4.3 运行

进入到目录

cd /opt/hadoop/hadoop/sbin

启动集群命令如下

./start-all.sh

关闭集群命令

./stop-all.sh

4.4 查看运行情况

使用jps命令即可

master情况:

hadoop集群安装过程 hadoop集群下载_xml_02

slave0情况:

hadoop集群安装过程 hadoop集群下载_hadoop_03

slave1情况:

hadoop集群安装过程 hadoop集群下载_hadoop集群安装过程_04

这样hadoop集群全部启动并正常运行。