Hadoop 安装部署的三种模式
Hadoop 支持本地模式、伪分布模式、全分布模式 3种模式安装。
- 本地模式:在系统种下载Hadoop,默认情况下,他会被配置为独立的模式,用于允许 Java 程序
- 伪分布模式:这是在单机上的分布式模拟,这种模式适合开发
- 全分布模式:集群模式,用于在生产上,Hadoop 安装在最少需要两台服务器集群中
安装 Hadoop 前提条件
- 安装 Linux
- 安装 JDK
Hadoop 2.x版本 使用 JDK 7 版本以上 Hadoop 3.x版本 使用 JDK 8 版本以上
基于版本考虑,统一使用 JDK 8 的版本上进行安装
Linux 的基本环境配置
# 修改主机名
[root@bigdata11 ~]# hostnamectl set-hostname bigdata11
[root@bigdata11 ~]# hostname
bigdata11
[root@bigdata11 ~]#
# 配置 hosts 文件,追加主机名映射
[root@bigdata11 ~]# vi /etc/hosts
# 在结尾出添加 192.168.3.11 bigdata11
[root@bigdata11 ~]# cat /etc/hosts
192.168.3.11 bigdata11
注:如果ip地址有改变,/etc/hosts中的ip也需要进行同步修改
关闭防火墙
# 关闭防火墙
[root@bigdata11 ~]# systemctl stop firewalld.service
# 开机禁用防火墙
[root@bigdata11 ~]# systemctl disable firewalld.service
注:在生产环境中,服务器的防火墙是不能关闭的,只能通过打开特定的服务端口进行开放
重启主机
[root@bigdata11 ~]# reboot
配置 SSH 免密码登陆
下载 Hadoop 官方安装包
在这里,我使用的是 Hadoop 2.x 版本最新版本进行安装:从官方下载的是 hadoop-2.10.0.tar.gz,然后通过工具上传到 Linux 中的一个目录即可,这里我统一上传到根目录下到 tools 目录中
安装 Hadoop
1. 解压
# 此目录存放所有的安装解压包
[root@bigdata11 ~]# mkdir /usr/software/
[root@bigdata11 ~]# tar -zxvf ~/tools/hadoop-2.10.0.tar.gz -C /usr/software/
Hadoop 目录结构

介绍几个重要的目录:
- bin: 该目录是 Hadoop 可执行的命令
- etc/hadoop: Hadoop 所有的配置文件
- sbin: 该目录是 Hadoop 启动和停止的脚本命令
- share:
- doc: Hadoop的文档信息
- Hadoop: Hadoop的所有模块jar包依赖
2. 配置环境变量
将 Hadoop 的安装目录 /usr/software/hadoop-2.10.0 配置到 /etc/profile 的 PATH 环境变量中

3. 使环境变量立即生效
修改了 /etc/profile 文件后需要重现 source 命令才能设置生效,否则不生效
[root@bigdata11 ~]# source /etc/profile
4. 配置 hadoop-env.sh 文件
在系统种下载Hadoop,默认情况下,他会被配置为独立的模式,用于允许 Java 程序(本地模式)
[root@bigdata11 ~]# cd /usr/software/hadoop-2.10.0/
[root@bigdata11 ~]# vi etc/hadoop/hadoop-env.sh
修改 hadoop-env.sh 中的 JAVA_HOME=/usr/software/jdk1.8.0_251 (在25行)

5. 配置 core-site.xml 文件
配置 HDFS 的访问 URL 和 端口 修改 HDFS 的临时目录,默认保存在 Linux 的 /tmp目录下,重启 Linux,会将 /tmp的目录进行情况,因此需要进行修改 hadoop 数据保存的目录。
[root@bigdata11 ~]# vi etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata11:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/software/hadoop-2.10.0/tmp</value>
</property>
</configuration>
6. 配置 hdfs-site.xml 文件
dfs.replication: 代表数据保存的副本的个数,默认 3,在安装 伪分布模式 下修改为副本1就好。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
下面的配置,如果在core-site.xml文化中没对 hadoop.tmp.dir 进行配置的时候,需要配置 DateNode的元数据存储路径
<!-- 官方的默认配置 -->
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>
</configuration>
<!-- 如果没配置 hadoop.tmp.dir,则需要进行修改-->
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/software/hadoop-2.10.0/data/datanode</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/software/hadoop-2.10.0/data/namenode</value>
</property>
</configuration>
7. 配置 mapred-site.xml 文件
[root@bigdata11 hadoop]# cp mapred-site.xml.template mapred-site.xml
<!-- 官方的默认配置:local -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
8. 配置 yarn-site.xml 文件
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata11</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
验证 Hadoop 环境
1. 格式化
在启动 Hadoop 之前先要进行格式化处理
[root@bigdata11 hadoop]# hdfs namenode -format
如果打印了一下信息,则说明配置信息是正常的,否则需要检查相关配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

2. 启动 Hadoop
我们可以使用 start-all.sh 命令启动 Hadoop 的所有进程
# 启动
[root@bigdata11 hadoop]# start-all.sh
# 停止
[root@bigdata11 hadoop]# stop-all.sh
如果日志上打印了以下信息,则启动成功!

3. 查看 Hadoop 的相关进程
通过 jps 命令查看 Hadoop 的相关进程
[root@bigdata11 hadoop]# jps

4. 访问 Web 控制台
- HDFS Console: http://192.168.3.11:50070

- Yarn Console: http://192.168.3.11:8088
