BigData-Notes/notes/installation/Hadoop单机环境搭建.md
2019-06-02 08:36:23 +08:00

264 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hadoop单机版环境搭建
<nav>
<a href="#一前置条件">一、前置条件</a><br/>
<a href="#二配置-SSH-免密登录">二、配置 SSH 免密登录</a><br/>
<a href="#三HadoopHDFS环境搭建">三、Hadoop(HDFS)环境搭建</a><br/>
<a href="#四HadoopYARN环境搭建">四、Hadoop(YARN)环境搭建</a><br/>
</nav>
## 一、前置条件
Hadoop的运行依赖JDK需要预先安装安装步骤见
+ [Linux下JDK的安装](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/JDK%E5%AE%89%E8%A3%85.md)
## 二、配置免密登录
Hadoop组件之间需要基于SSH进行通讯。
#### 2.1 配置映射
配置ip地址和主机名映射
```shell
vim /etc/hosts
# 文件末尾增加
192.168.43.202 hadoop001
```
### 2.2 生成公私钥
执行下面命令行生成公匙和私匙:
```
ssh-keygen -t rsa
```
### 3.3 授权
进入`~/.ssh`目录下,查看生成的公匙和私匙,并将公匙写入到授权文件:
```shell
[root@@hadoop001 sbin]# cd ~/.ssh
[root@@hadoop001 .ssh]# ll
-rw-------. 1 root root 1675 3月 15 09:48 id_rsa
-rw-r--r--. 1 root root 388 3月 15 09:48 id_rsa.pub
```
```shell
# 写入公匙到授权文件
[root@hadoop001 .ssh]# cat id_rsa.pub >> authorized_keys
[root@hadoop001 .ssh]# chmod 600 authorized_keys
```
## 三、Hadoop(HDFS)环境搭建
### 3.1 下载并解压
下载Hadoop安装包这里我下载的是CDH版本的下载地址为http://archive.cloudera.com/cdh5/cdh/5/
```shell
# 解压
tar -zvxf hadoop-2.6.0-cdh5.15.2.tar.gz
```
### 3.2 配置环境变量
```shell
# vi /etc/profile
```
配置环境变量:
```
export HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2
export PATH=${HADOOP_HOME}/bin:$PATH
```
执行`source`命令,使得配置的环境变量立即生效:
```shell
# source /etc/profile
```
### 3.3 修改Hadoop配置
进入`${HADOOP_HOME}/etc/hadoop/ `目录下,修改以下配置:
#### 1. hadoop-env.sh
```shell
# JDK安装路径
export JAVA_HOME=/usr/java/jdk1.8.0_201/
```
#### 2. core-site.xml
```xml
<configuration>
<property>
<!--指定namenode的hdfs协议文件系统的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
<property>
<!--指定hadoop存储临时文件的目录-->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
```
#### 3. hdfs-site.xml
指定副本系数和临时文件存储位置:
```xml
<configuration>
<property>
<!--由于我们这里搭建是单机版本所以指定dfs的副本系数为1-->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
```
#### 4. slaves
配置所有从属节点的主机名或IP地址由于是单机版本所以指定本机即可
```shell
hadoop001
```
### 3.4 关闭防火墙
不关闭防火墙可能导致无法访问Hadoop的Web UI界面
```shell
# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld.service
```
### 3.5 初始化
第一次启动Hadoop时需要进行初始化进入`${HADOOP_HOME}/bin/`目录下,执行以下命令:
```shell
[root@hadoop001 bin]# ./hdfs namenode -format
```
### 3.6 启动HDFS
进入`${HADOOP_HOME}/sbin/`目录下启动HDFS
```shell
[root@hadoop001 sbin]# ./start-dfs.sh
```
### 3.7 验证是否启动成功
方式一:执行`jps`查看`NameNode``DataNode`服务是否已经启动:
```shell
[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
9390 SecondaryNameNode
```
方式二查看Web UI界面端口为`50070`
<div align="center"> <img width="700px" src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/hadoop安装验证.png"/> </div>
## 四、Hadoop(YARN)环境搭建
### 4.1 修改配置
进入`${HADOOP_HOME}/etc/hadoop/ `目录下,修改以下配置:
#### 1. mapred-site.xml
```shell
# 如果没有mapred-site.xml则拷贝一份样例文件后再修改
cp ./mapred-site.xml.template ./mapred-site.xml
```
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
#### 2. yarn-site.xml
```xml
<configuration>
<property>
<!--配置NodeManager上运行的附属服务。需要配置成mapreduce_shuffle后才可以在Yarn上运行MapReduce程序。-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
```
### 4.2 启动服务
进入`${HADOOP_HOME}/sbin/`目录下启动YARN
```shell
./start-yarn.sh
```
#### 4.3 验证是否启动成功
方式一:执行`jps`命令查看`NodeManager``ResourceManager`服务是否已经启动:
```shell
[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
12294 NodeManager
12185 ResourceManager
9390 SecondaryNameNode
```
方式二查看Web UI界面端口号为`8088`
<div align="center"> <img width="700px" src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/hadoop-yarn安装验证.png"/> </div>