【笔记】Hadoop 分布式模式

前言

Hadoop分布式模式,至少6台计算机(学习阶段使用3台)

MacOS环境下Hadoop3学习笔记

集群部署规则

标准阶段规则

hadoop102 hadoop103 hadoop104 hadoop105 hadoop106 hadoop107
NameNode SecondaryNameNode DataNode & NameManageer DataNode & NameManager DataNode & NameManager ResourceManager

主从关系

HDFS 集群
  • 主机

hadoop102

  • 从机

hadoop103hadoop104hadoop105hadoop106

YARN 集群
  • 主机

hadoop107

  • 从机

hadoop104hadoop105hadoop106

学习阶段规则

hadoop102 hadoop103 hadoop104
NameNode ResourceManager SecondaryNameNode
DataNode & NameManager DataNode & NameManager DataNode & NameManager

主从关系

HDFS 集群
  • 主机

hadoop102

  • 从机

hadoop102hadoop103hadoop104

YARN 集群
  • 主机

hadoop103

  • 从机

hadoop102hadooop103hadoop104

集群配置

env

  • 配置hadoop-env.shmapred-env.shyarn-env.shJAVA_HOME

site

<ip_address>:计算机在网络中的ip地址或网络名称

core-site.xml

  • 指定HDFS中NameNode的地址
1
2
3
4
<property>
<name>fs.defaultFS</name>
<value>hdfs://<ip_address>:9000</value>
</property>

注意:使用fs.default.name还是使用fs.defaultFS,要首先判断是否开启了NameNodeHighAvaliable,如果开启了NameNodeHighAvaliable,那么就用fs.defaultFS,在单一NameNode的情况下,就用fs.default.name

  • 指定Hadoop运行时产生文件的存储目录
1
2
3
4
<property>
<name>hadoop.tmp.dir</name>
<value>~/.hadoop/data/tmp</value>
</property>

hdfs-site.xml

  • 指定HDFS副本的数量
1
2
3
4
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
  • 指定Hadoop辅助名称节点主机配置
1
2
3
4
<property>
<name>dfs.namenode.secondary.http-address</name>
<value><ip_address>:50090</value>
</property>

mapred-site.xml

  • 指定MR运行在YARN上
1
2
3
4
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

yarn-site.xml

  • Reducer获取数据的方式
1
2
3
4
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
  • 指定YARN的ResourceManager地址
1
2
3
4
<property>
<name>yarn.resourcemanager.hostname</name>
<value><ip_address></value>
</property>

集群启动

格式化

  • 首次启动格式化,在配置了NameNode的计算机(hadoop102)上格式化
1
hdfs namenode -format

启动

  • hadoop102上启动NameNodeDataNode
1
2
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
  • hadoop103上启动DataNode
1
hadoop-daemon.sh start datanode
  • hadoop104上启动DataNodeSecondaryNameNode
1
2
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode

确认

在各个计算机上查看程序运行情况

1
jps

在浏览器上查看计算机运行情况

  • 进入网页hadoop102:50070

如果在Datanodes页面找到其他设备,则配置成功

完成

参考文献

哔哩哔哩——zhvsvd
CSDN——lepton126