# Hadoop 安装部署全分布式模式
全分布模式:集群模式,用于在生产上,Hadoop 安装在最少需要两台服务器集群中。
# 准备工作和规划机器
- 192.168.3.12 -> bigdata12
- 192.168.3.13 -> bigdata13
- 192.168.3.14 -> bigdata14
# 服务节点规划
- 192.168.3.12
- NameNode
- SencondaryNameNode
- ResourceManager
- 192.168.3.13
- DataNode
- NodeManager
- 192.168.3.14
- DataNode
- NodeManager
# 准备工作
关闭防火墙
- systemctl stop firewalld.service
- systemctl disable firewalld.service
- 注:在生产环境中,服务器的防火墙是不能关闭的,只能通过打开特定的服务端口进行开放
安装 JDK
配置主机名 vi /etc/hosts
- 192.168.3.12 bigdata12
- 192.168.3.13 bigdata13
- 192.168.3.14 bigdata14
配置免密码登陆:俩俩之间的免密码登陆
保证每个服务器的时间同步
- 可单独搭建时间服务器,每台服务器跟同步时间服务器进行同步
- 每台服务器同时执行时间同步命令:data -s 2020-05-02 10:00:00
# 安装 Hadoop
- 在主节点(192.168.3.12)进行安装
# 解压并
tar -zxvf ~/tools/hadoop-2.10.0.tar.gz -C /usr/software/
# 设置环境变量
vi /etc/profile
HADOOP_HOME=/usr/software/hadoop-2.10.0
JAVA_HOME=/usr/software/jdk1.8.0_251
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
# 使环境生效
source /etc/profile
- 修改配置文件
- hadoop-env.sh
- 修改 hadoop-env.sh 中的 JAVA_HOME=/usr/software/jdk1.8.0_251 (在25行)
- core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://bigdata11:9000</value> </property> <!--可选,如果不配置,则hdfs-site.xml 需要配置 DateNode的元数据存储路径--> <property> <name>hadoop.tmp.dir</name> <value>/usr/software/hadoop-2.10.0/tmp</value> </property> </configuration>- hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 可选,如果没配置 hadoop.tmp.dir,则需要进行修改--> <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>- mapred-site.xml
cp mapred-site.xml.template mapred-site.xml<!-- 官方的默认配置:local --> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>- yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>bigdata12</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>- slaves: 指明从节点地址(数据节点 DataNode 地址)
- bigdata13
- bigdata14
- hadoop-env.sh
- 格式化
hdfs namenode -format
- 拷贝,把主节点配置好的 hadoop 复制到从节点上
# 拷贝 hadoop安装包到其他两台机器
scp -r /usr/software/hadoop-2.10.0 root@bigdata13:/usr/software
scp -r /usr/software/hadoop-2.10.0 root@bigdata14:/usr/software
# 拷贝配置环境变量
scp -r /etc/hosts root@bigdata13:/etc/
scp -r /etc/hosts root@bigdata14:/etc/
scp -r /etc/profile root@bigdata13:/etc/
scp -r /etc/profile root@bigdata14:/etc/
# 在从节点上刷新配置环境,使其生效
source /etc/profile
- 在主节点上启动 Hadoop
# 启动
start-all.sh
# 停止
stop-all.sh
如果日志上打印了以下信息,则集群部署成功!

- 查看 Hadoop 的各节点相关进程
通过 jps 命令查看 Hadoop 的相关进程
在 192.168.3.12 节点上

在 192.168.3.13 节点上

在 192.168.3.14 节点上

- 主节点(192.168.3.12)访问 Web 控制台
- HDFS Console: http://192.168.3.12:50070


- Yarn Console: http://192.168.3.12:8088
