Hadoop的安装与配置

前言:现在开始安装Hadoop啦。

注意,每一个节点的安装和配置是相同的。实际工作中,通常在master 节点上完成安装和配置后,然后将安装目录复制到其他节点即可。

这里所有操作都是root用户权限

1.下载Hadoop安装

登录进入 http://hadoop.apache.org/ hadoop官网下载自己的Hadoop版本

(这里我们下载的是:hadoop-2.7.5.tar.gz)

2.解压安装包

找到 hadoop-2.7.5.tar.gz 将其上传到 master 节点的“ /opt/hadoop ”目录内,用xshell的xftp工具上传文件。

上传完后,在master主机进入/opt/hadoop目录,执行解压缩命令“tar -zxvf hadoop-2.7.5.tar.gz”,即可实现安装,回车后系统开始解压缩 tar -zxvf hadoop-2.7.5.tar.gz 文件,

屏幕上会不断显示解压过程信息,执行成功后,系统将在 Hadoop 下自动创建tar -zxvf hadoop-2.7.5 子目录,将" hadoop-2.7.5 ”文件夹名称修改为“ hadoop ”此即Hadoop安装目录。

我们进入Hadoop安装目录,查看一下安装文件,如果显示如图所示的文件列表,说明解压缩成功。

2.配置env文件

修改“ /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh ” 文件,找到“ export JAVA_HOME ”这行,配置jdk路径。如图

export JAVA_HOME=/user/local/java/jdk1.8.0.162/

编辑完毕,保存退出即可

3.配置核心组件文件

Hadoop 的核心组件文件是 core-site.xml,位于“/opt/hadoop/hadoop/etc/hadoop ”子目录下。
用 vi编辑 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>
编辑完毕,保存退出即可。

4.配置文件系统

Hadoop 的文件系统配置文件是 hdfs-site.xml,也位于“/opt/hadoop/hadoop/etc/hadoop”子目录下。
用vi编辑该文件,需要将下面的代码填充到文件的<configuration>和</configuration>之间。
 <property>
  <name>dfs.replication</name>
  <value>1</value>
 </property>
编辑完毕,保存退出即可。

5.配置yarn-site.xml文件

Yarn的站点配置文件是 yarn-site.xml,也位于“/opt/hadoop/hadoop/etc/hadoop”子目录下。
用vi编辑该文件,需要将下面的代码填充到文件的<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>

6.配置MapReduce计算框架文件

在“/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>之间。
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>
编辑完毕,保存退出即可。

7.配置master的slaves文件

slaves 文件给出了 Hadoop 集群的 Slave 节点列表。该文件十分重要,因为启动Hadoop 的时候,
系统总是根据当前 slaves 文件中 Slave 节点名称列表启动集群,不在列表中的Slave 节点便不会被视为计算节点。
用 vi编辑 slaves 文件,我们应当根据自己所搭建集群的实际情况进行编辑。例如,我们这里由于已经安装了 Slave0 和 Slave1,
并且计划将它们全部投入 Hadoop 集群运行,所以应当输入如下代码。
 slave0
 slave1

8.复制master上的Hadoop到slave节点

通过复制 Master 节点上的hadoop,能够大大提高系统部署效率。
由于我们这里有Slave0 和 Slave1,所以要复制两次。复制命令是:
 
scp -r /opt/hadoop root@slave0:/opt/hadoop
scp -r /opt/hadoop root@slave1:/opt/hadoop
 
 
9.Hadoop集群启动-配置操作系统环境变量
回到用户目录(这里是“/opt/hadoop”),只要输入 cd 命令即可,然后用 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 ”命令,使上述配置生效。
请读者注意,也要在其他节点进行上述配置。
 
 
10.创建Hadoop数据目录
 
创建数据目录,命令是“mkdir /opt/hadoop/hadoopdata”。
注意,这里的数据目录名 “hadoopdata”与前面 Hadoop 核心组件文件 core-site.xml 中的配置:
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/hadoop/hadoopdata</value>
 </property>
是一致的。

11.格式化文件系统

该操作只需要在 Master 节点上进行,命令是“ hdfs namenode -format

12.启动和关闭Hadoop

.可以使用 start-all.sh 命令启动 Hadoop 集群。
.首先进入 Hadoop 安装主目录,然后执行 sbin/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 命令。
 
 
若集群启动成功,如下图所示:
 

 13.验证Hadoop是否启动成功

(注:先看是否关闭或开起了防火墙,输入命令 hadoop dfsadmin -safemode leave

 用户可以在终端执行 jps 命令查看 Hadoop 是否启动成功。在 Master 节点,
执行 jps后如果显示的结果是四个进程的名称: SecondaryNameNode、 ResourceManager、 Jps 和NameNode,
如下图所示,则表明主节点( Master )启动成功 。

在 Slave0 节点执行 jps 命令,打印的结果中会显示三个进程,分别是 NodeManager、
Jps 和 DataNode ,如下图所示,表明从节点(Slave0)启动成功。其他节点可以类似验证。

14.在Hadoop集群中运行程序

在安装 Hadoop 的时候,系统给用户提供了一些 MapReduce 示例程序,其中有一个典型的用于计算圆周率 pi 的 Java 程序包,现在我们将其投入运行。
 该 jar 包文件的位置和文件名是:
/opt/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar
 我们在终端输入如下的运行命令:
hadoop jar /opt/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 4 6
回车后即可开始运行。其中 pi 是类名,后面跟了两个10,它们是运行参数,第一个 10 表示 Map 次数,第二个 10 表示随机生成点的次数(与计算原理有关)。
如果执行中出现如下图所示的输出信息,表明程序在正常运行,系统处于良好状态 。

 

 

 

注:执行 Hadoop MapReduce 程序,是验证 Hadoop 系统是否正常启动的最后一个环节。实际上,
即使通过 jps 方式验证了系统己经启动,并且能够查看到状态信息,也不一定意味着系统可以正常工作。
例如,防火墙没有关闭的话, MapReduce程序执行不会成功。

hadoop dfsadmin -safemode leave

总结:本节主要介绍了 Hadoop 安装、配置、启动、运行简单程序。读者特别注意,
安装 Hadoop 以后,我们通过 jps 命令,分别在 Master 节点和 Slave 节点上查看NameNode 和 DataNode 进程是否启动;
运行一个MapReduce 程序,如典型的计算圆周率程序 Pi 。必须指出,如果这些验证都通过,才能说明系统安装成功,
如果运行程序不能成功,说明系统还存在问题,如防火墙没有关闭等。

 

原文地址:https://www.cnblogs.com/wangxin666/p/11803952.html