Hadoop安装与配置详细教程

【确保服务器集群安装和配置已经完成!】

前言

请根据读者的自身状况,进行相应随机应变。java

个人三台CentOS7服务器:
主机:master(192.168.56.110)
从机:slave0(192.168.56.111)
从机:slave1(192.168.56.112)node

每个节点的安装与配置是相同的,在实际工做中,一般在master节点上完成安装和配置后,而后将安装目录复制到其余节点就能够,没有必要把全部节点都配置一遍,那样没有效率。web

注意:全部操做都是root用户权限shell

下载Hadoop安装包

Hadoop官网:http://hadoop.apache.org/
我这里用的Hadoop版本下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.7.5/apache

解压Hadoop安装包(只在master作)

确保network网络已经配置好,使用Xftp等相似工具进行上传,把hadoop-2.7.5.tar.gz上传到/opt/hadoop目录内。
上传完成后,在master主机上执行如下代码:bash

cd /opt/hadoop

进入/opt/hadoop目录后,执行解压缩命令:服务器

tar -zxvf hadoop-2.7.5.tar.gz

回车后系统开始解压,屏幕会不断滚动解压过程,执行成功后,系统在hadoop目录自动建立hadoop-2.7.5子目录。网络

而后修改文件夹名称为“hadoop”,即hadoop安装目录,执行修改文件夹名称命令:app

mv hadoop-2.7.5 hadoop

注意:也可用Xftp查看相应目录是否存在,确保正确完成。框架

咱们进入安装目录,查看一下安装文件,若是显示如图文件列表,说明压缩成功
在这里插入图片描述

配置env文件(只在master作)

请先看以下命令(而且记住它们,后续操做大量用到,而且再也不赘述):
A. 进入编辑状态:insert
B. 删除:delete
C. 退出编辑状态:ctrl+[
D. 进入保存状态:ctrl+]
E. 保存并退出:" :wq " 注意先输入英文状态下冒号
F. 不保存退出:" :q! " 同上

大概执行顺序:A→B→C→D→E

配置jdk文件
执行命令:

vi /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh

找到 “ export JAVA_HOME ” 这行,用来配置jdk路径

修改成:export JAVA_HOME=/usr/local/java/jdk1.8.0_162/
在这里插入图片描述

配置核心组件文件(只在master作)

Hadoop的核心组件文件是core-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑core-site.xml文件,须要将下面的配置代码放在文件的<configuration>和</configuration>之间。

执行编辑core-site.xml文件的命令:

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>

编辑完成后,退出并保存便可!

配置文件系统(只在master作)

Hadoop的文件系统配置文件是hdfs-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑该文件,须要将如下代码放在文件的<configuration>和</configuration>之间。

执行编辑hdfs-site.xml文件的命令:

vi /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml

须要在<configuration>和</configuration>之间加入的代码:

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

编辑完成后,退出保存便可!

配置 yarn-site.xml 文件(只在master作)

Yarn的站点配置文件是yarn-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,依然用vi编辑该文件,将如下代码放在文件的<configuration>和</configuration>之间。

执行编辑yarn-site.xml文件的命令:

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>

配置MapReduce计算框架文件(只在master作)

在/opt/hadoop/hadoop/etc/hadoop子目录下,系统已经有一个mapred-site.xml.template文件,咱们须要将其复制并更名,位置不变。

执行复制和更名操做命令:

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

而后用vi编辑mapred-site.xml文件,须要将下面的代码填充到文件的<configuration>和</configuration>之间。

执行命令:

vi /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml

须要在<configuration>和</configuration>之间加入的代码:

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

编辑完毕,保存退出便可!

配置master的slaves文件(只在master作)

slaves文件给出了Hadoop集群的slave节点列表,该文件十分的重要,由于启动Hadoop的时候,系统老是根据当前slaves文件中的slave节点名称列表启动集群,不在列表中的slave节点便不会被视为计算节点。

执行编辑slaves文件命令:

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

注意:用vi编辑slaves文件,应该根据读者您本身所搭建集群的实际状况进行编辑。
例如:我这里已经安装了slave0和slave1,而且计划将它们所有投入Hadoop集群运行。

因此应当加入如下代码:

slave0
slave1

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

复制master上的Hadoop到slave节点(只在master作)

经过复制master节点上的hadoop,可以大大提升系统部署效率,假设咱们有200台须要配置…笔者岂不白头

因为我这里有slave0和slave1,因此复制两次。

复制命令:

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

Hadoop集群的启动-配置操做系统环境变量(三个节点都作)

回到用户目录命令:

cd /opt/hadoop

而后用vi编辑.bash_profile文件,命令:

vi ~/.bash_profile

最后把如下代码追加到文件的尾部:

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

保存退出后,执行命令:

source ~/.bash_profile

source ~/.bash_profile命令是使上述配置生效

提示:在slave0和slave1使用上述相同的配置方法,进行三个节点所有配置。

建立Hadoop数据目录(只在master作)

建立数据目录,命令是:

mkdir /opt/hadoop/hadoopdata

经过Xftp可查看该hadoopdata

格式化文件系统(只在master作)

执行格式化文件系统命令:

hadoop namenode -format

启动和关闭Hadoop集群(只在master作)

首先进入安装主目录,命令是:

cd /opt/hadoop/hadoop/sbin

提示:目前文件位置可在Xshell顶部栏观察

而后启动,命令是:

start-all.sh

执行命令后,系统提示 ” Are you sure want to continue connecting(yes/no)”,输入yes,以后系统便可启动。
注意:可能会有些慢,千万不要觉得卡掉了,而后强制关机,这是错误的。

若是要关闭Hadoop集群,可使用命令:

stop-all.sh

下次启动Hadoop时,无须NameNode的初始化,只须要使用start-dfs.sh命令便可,而后接着使用start-yarn.sh启动Yarn。

实际上,Hadoop建议放弃(deprecated)使用start-all.sh和stop-all.sh一类的命令,而改用start-dfs.sh和start-yarn.sh命令。

验证Hadoop集群是否启动成功

读者您能够在终端执行jps命令查看Hadoop是否启动成功。

在master节点,执行:

jps

若是显示:SecondaryNameNode、 ResourceManager、 Jps 和NameNode这四个进程,则代表主节点master启动成功
在这里插入图片描述
而后分别在slave0和slave1节点下执行命令:

jps

若是成功显示:NodeManager、Jps 和 DataNode,这三个进程,则代表从节点(slave0和slave1)启动成功
在这里插入图片描述

结束

若有问题请留言,如成功则留下您宝贵的一个赞。