Hadoop 安装

1、

目录

Hadoop 安装

1、

Hadoop 安装包下载

安装前

进去准备放置安装包的目录

下载安装包

Hadoop安装配置

HDFS 配置安装

修改配置

Yarn 配置安装

我们现在基于上面 HDFS 的安装配置来配置安装 Yarn,你会发现还是很简单的。

MapReduce 配置安装

1. 修改 yarn-site.xml 配置

在 hadoop01 机器上修改 yarn-site.xml 文件:


Hadoop 安装包下载

安装前

分别在 hadoop01、hadoop02、hadoop03 三台机器的根目录下创建三个两个文件夹 ,即执行下面的命令:

# 创建安装包目录
mkdir -p /export/softwares
# 创建文件目录
mkdir -p /export/servers
# 存储数据目录
mkdir -p /export/data

进去准备放置安装包的目录

# 该目录用来放安装包
cd /export/softwares

下载安装包

我们下载安装包的时候一般会去官网下载,Hadoop 的官网是  https://hadoop.apache.org/ 。

Hadoop 所有版本的安装包都放在  https://archive.apache.org/dist/hadoop/common/ 这个网址中,我们可以根据自己的需求下载相应的版本。

我们这篇文章以 Hadoop 2.x 系列的 Hadoop 2.7.4 版本为例来进行安装。

我们可以在 hadoop01 机器上通过下面的命令来下载 Hadoop 安装包:

## 进入到主目录下的 /export/softwares 目录下
cd /export/softwares

## 使用 wget 下载 hadoop 2.7.4 的安装包
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

 如果在虚拟机上面是第一次运行 wget 命令的时候,会报如下的错误:

[root@master bigdata]# wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz
-bash: wget: command not found

当出现上面的错误的时候,我们需要使用 yum 来安装 wget :

## 安装 wget 命令
yum -y install wget

然后再执行下面的命令:

## 使用 wget 下载 hadoop 2.7.4 的安装包
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

上面命令执行完后,在当前的目录下会出现名字为 hadoop-2.7.4.tar.gz 的压缩安装包。我们通过下面的命令解压安装包:

## 解压 hadoop 压缩安装包
tar zxvf hadoop-2.7.4.tar.gz

执行完后,在当前的目录下会出现一个名为 hadoop-2.7.4 的文件目录,这个目录就是 hadoop 的安装目录。

至此,Hadoop 安装包下载完毕。

我把本章节用的 hadoop 安装包放在了百度网盘,有需要的可以自行提取

链接: https://pan.baidu.com/s/1WwgdMNqd_-wI948Qi034Fw 提取码: j8q8

(下载完安装包后可以用远程传输工具上传到 hadoop01:/export/softwares 目录下,

然后解压到 /export/servers 目录)

------------------------------------------------------Hadoop下载完毕----------------------------------------------------

Hadoop安装配置

在 Hadoop 中包含了 3 个技术组件,分别是:

(1)分布式存储技术 - HDFS
(2)分布式资源管理技术 - Yarn
(2)分布式计算技术 - MapReduce
我们常说的 Hadoop 安装,实际上就包含了 HDFS 、Yarn 、 MapReduce 的安装,我们接下来分别配置安装。

HDFS 配置安装

修改配置

执行下面的命令进入到 hadoop 的配置文件所在的目录:

cd /export/servers/hadoop-2.7.4/etc/hadoop/

1. 修改 core-site.xml 配置文件

vim core-site.xml

在 configuration 标签中添加如下的内容:

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop01:9999</value>
	<description>表示HDFS的基本路径</description>
</property>

修改完后进行保存退出。

2. 创建 NameNode 和 DataNode 需要的文件目录

在 hadoop01 机器上执行下面的命令:

## 创建 NameNode 需要存储数据的文件目录
mkdir -p /export/data/dfs/name

## 创建 DataNode 需要存放数据的文件目录
mkdir -p /export/data/dfs/data

3. 修改 hdfs-site.xml 配置文件

vim hdfs-site.xml

在 configuration 标签中添加如下的内容:

<property>
    <name>dfs.replication</name> 
     <value>1</value>
	 <description>表示数据块的备份数量,不能大于DataNode的数量</description>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/export/data/dfs/name</value>
    <description>表示 NameNode 需要存储数据的文件目录</description>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/export/data/dfs/data</value>
    <description>表示 DataNode 需要存放数据的文件目录</description>
</property>

添加完后保存退出。

4. 修改 slaves 文件

执行下面的命令将从节点 hadoop02、hadoop03 的机器名字填入到 slaves 文件中:

vim slaves

删除文件中 localhost ,然后添加如下内容:

hadoop02
hadoop03

5. 配置 Hadoop 依赖的 JAVA_HOME

修改配置 hadoop-env.sh :

vim hadoop-env.sh

添加如下的 JAVA_HOME

export JAVA_HOME=/export/servers/jdk1.8.0_301

Hadoop shell 一键安装 hadoop安装教程图解_Hadoop

6. 拷贝配置到 hadoop02 和 hadoop03 上

在 hadoop01 机器中执行如下的命令:

## 将 NameNode 存储的文件目录以及 DataNode 存储的文件目录拷贝到 hadoop02 和 hadoop03 中
scp -r /export/data/dfs root@hadoop02:/export/data/dfs
scp -r /export/data/dfs root@hadoop03:/export/data/dfs

## 将在 hadoop01 中配置好的 hadoop 安装目录拷贝到 hadoop02 和 hadoop03 中
scp -r /export/servers/hadoop-2.7.4 root@hadoop02:/export/servers
scp -r /export/servers/hadoop-2.7.4 root@hadoop03:/export/servers

7. 配置环境变量

在 hadoop01 机器上执行下面的命令,配置 hadoop 的环境变量:

## 修改环境变量
vim ~/.bash_profile

添加如下的内容:

export HADOOP_HOME=/export/servers/hadoop-2.7.4
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后执行下面的命令,使得环境变量生效:

source ~/.bash_profile

8. 启动验证

到目前为止,HDFS 的配置已经全部结束,接下来我们启动 HDFS 集群,并且验证。

第一次启动 HDFS 之前,需要先对集群做格式化处理,执行下面的命令:

## 格式化 HDFS 集群的 namenode
hdfs namenode -format

注意:格式化只能执行一次,如果你执行了多次,那么集群启动的时候会不正常,这个时候的解决方案就是重新安装。
 

接下来我们在 hadoop01 节点中执行下面的命令来启动 HDFS 集群:

# 启动hdfs节点
start-dfs.sh

我们分别在 hadoop01 、hadoop02、hadoop03 机器上执行 jps 命令,如果能看到如下的进程,说明机器成功启动:

Hadoop shell 一键安装 hadoop安装教程图解_大数据_02

Hadoop shell 一键安装 hadoop安装教程图解_Hadoop shell 一键安装_03

Hadoop shell 一键安装 hadoop安装教程图解_hadoop_04

我们也可以打开浏览器,访问网址:http://hadoop01:50070/。 如果出现下面的界面,也说明 HDFS 安装成功:

Hadoop shell 一键安装 hadoop安装教程图解_Hadoop_05

9. 停止 HDFS 集群
我们可以在 hadoop01 机器上执行下面的命令来停止 HDFS 集群:

# 停止dfs节点
stop-dfs.sh

Yarn 配置安装

我们现在基于上面 HDFS 的安装配置来配置安装 Yarn,你会发现还是很简单的。

1. 创建 Yarn 存储临时数据的文件目录
在 hadoop01 机器上执行如下命令:

mkdir -p /export/data/yarn/local-dir

2. 修改 yarn-site.xml 配置文件
在 hadoop01 机器上执行如下的命令来修改 yarn-site.xml 文件:

cd /export/servers/hadoop-2.7.4/etc/hadoop

vim yarn-site.xml

在文件中的 configuration 标签中增加如下的内容:

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
        <description>表示ResourceManager安装的主机</description>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>hadoop01:8032</value>
        <description>表示ResourceManager监听的端口</description>
    </property>
    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>/export/data/yarn/local-dir</value>
        <description>表示nodeManager中间数据存放的地方</description>
    </property>
    <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>1630</value>
	   <description>表示这个NodeManager管理的内存大小</description>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
            <value>2</value>
	   <description>表示这个NodeManager管理的cpu个数</description>
    </property>

3. 拷贝 yarn 相关配置到 hadoop02 和 hadoop03 中

在 hadoop01 机器上执行如下的命令:

scp /export/servers/hadoop-2.7.4/etc/hadoop/yarn-site.xml root@hadoop02:/export/servers/hadoop-2.7.4/etc/hadoop/
scp /export/servers/hadoop-2.7.4/etc/hadoop/yarn-site.xml root@hadoop03:/export/servers/hadoop-2.7.4/etc/hadoop/

scp -r /export/data/yarn/local-dir root@hadoop02:/export/data/
scp -r /export/data/yarn/local-dir root@hadoop03:/export/data/

4. 启动验证
在 hadoop01 机器上执行下面的命令,来启动 yarn :

# 启动 yarn 节点
start-yarn.sh

我们可以在三台机器上执行 jps 来查看 yarn 的相关进程,如下图:

Hadoop shell 一键安装 hadoop安装教程图解_Hadoop_06

Hadoop shell 一键安装 hadoop安装教程图解_Hadoop shell 一键安装_07

Hadoop shell 一键安装 hadoop安装教程图解_xml_08

看到以上三个进程,说明 Yarn 集群安装成功。

我们也可以打开浏览器,输入网址: http://hadoop01:8088/ 来访问 Yarn 集群,如果出现下面的界面,也可以说明集群安装成功:

Hadoop shell 一键安装 hadoop安装教程图解_xml_09

5. 停止 Yarn 集群
我们可以在 hadoop01 机器上执行下面的命令来停止 Yarn 集群: 

# 停止 yarn 节点
stop-yarn.sh

MapReduce 配置安装

在安装 MapReduce 之前,需要先保证 Yarn 集群是停止的,可以通过执行 stop-yarn.sh 来完成。

1. 修改 yarn-site.xml 配置

在 hadoop01 机器上修改 yarn-site.xml 文件:
 

cd /export/servers/hadoop-2.7.4/etc/hadoop/

vim yarn-site.xml

 添加一个配置项:

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
    <description>为mapreduce应用打开 shuffle 服务</description>
</property>

2. 修改 mapred-site.xml 配置

在 hadoop01 机器上执行如下的命令:

## 创建 mapred-site.xml 文件
cp mapred-site.xml.template mapred-site.xml

然后修改 mapred-site.xml 配置文件:

vim mapred-site.xml

添加如下的配置:

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    <description>向yarn申请资源</description>
</property>

3. 将 MapReduce 相关的配置文件同步到 hadoop02 和 hadoop03 上
在 hadoop01 中执行下面的命令:

scp yarn-site.xml mapred-site.xml root@hadoop02:/export/servers/hadoop-2.7.4/etc/hadoop
scp yarn-site.xml mapred-site.xml root@hadoop03:/export/servers/hadoop-2.7.4/etc/hadoop

4. 启动 yarn
在 hadoop01 机器上执行下面的命令

# 启动 yarn 节点
start-yarn.sh

5. 验证 MapReduce
在 hadoop01 上执行下面的命令:

## 准备目录和数据
hadoop fs -mkdir /input
hadoop fs -mkdir /output
hadoop fs -put /export/servers/hadoop-2.7.4/etc/hadoop /input

## 执行 MapReduce 任务
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep /input/hadoop /output 'dfs[a-z.]+'

------------------------------------------------至此hadoop集群配置完成-----------------------------------------------