# 运行模式-完全集群

# 1. 集群部署规划

· big002
192.168.2.10
big003
192.168.2.11
big004
192.168.2.12
HDFS NameNode
DataNode
DataNode SecondaryName
NodeDataNode
YARN NodeManager ResourceManager
NodeManager
NodeManager

# 2. 配置集群

# 2.1 核心配置文件(core-site.xml)

<!-- 指定HDFS中NameNode的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://big002:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/mnt/tmp/hadoop/data/tmp</value>
</property>
1
2
3
4
5
6
7
8
9
10

# 2.2 HDFS配置文件

# 2.2.1 hadoop-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_231
1

# 2.2.3 hdfs-site.xml

<!-- 指定HDFS副本的数量 -->
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<!-- 指定 Hadoop 辅助名称节点主机配置 -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>big004:50090</value>
</property>
1
2
3
4
5
6
7
8
9
10

# 2.3 YARN 配置文件

# 2.3.1 yarn-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_231
1

# 2.3.2 yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>big003</value>
</property>

<!-- 日志聚集功能使能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 2.4 MapReduce配置文件

# 2.4.1 mapred-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_231
1

# 2.4.2 mapred-site.xml

<!-- 指定MR运行在YARN上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>big002:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>big002:19888</value>
</property>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 3. 分发集群配置文件

[leichu@big002 ~]$ xsync /usr/local/hadoop-2.10.0/etc
1

# 4. 群器集群

# 4.1 配置 slaves

vim /usr/local/hadoop-2.10.0/etc/hadoop/slaves
## 输入数据节点所在的主机名称
big002
big003
big004

## 配置文件分发
[leichu@big002 ~]$ xsync /usr/local/hadoop-2.10.0/etc/hadoop/slaves
1
2
3
4
5
6
7
8

# 4.2 格式化 NameNode

[leichu@big002 ~]$ hdfs namenode -format
1

# 4.3 启动 HDFS

## 注意:HDFS 只能在 NameNode 所在的主机上启动
[leichu@big002 ~]$ start-dfs.sh
1
2

# 4.4 启动 YARN

## 注意:YARN 只能在 ResourceManager 所在的主机上启动
[leichu@big003 ~]$ start-yarn.sh
1
2

# 4.5 启动 历史服务

[leichu@big002 ~]$ mr-jobhistory-daemon.sh
1

# 5. 集群测试

# 5.1 上传大文件

## 在 HDFS 上创建测试目录 leichu
[leichu@big002 ~]$ hdfs dfs -mkdir -p /leichu
## 上传
[leichu@big002 ~]$ hdfs dfs -put /leichu/hadoop-2.10.0.tar.gz /leichu

## 查看测试目录下的文件
[leichu@big002 hadoop]$ hdfs dfs -ls /leichu
Found 1 items
-rw-r--r--   3 leichu supergroup  392115733 2020-07-11 14:01 /leichu/hadoop-2.10.0.tar.gz
1
2
3
4
5
6
7
8
9

# 5.2 web 端查看

## Hadoop 首页
http://big002:50070

## HDFS 首页
http://big002:50070/explorer.html

## 历史服务首页
http://big002:19888/jobhistory
1
2
3
4
5
6
7
8

hadoop

jobhistory

hdfs

# 6. 关闭集群

## 关闭 big002 上的 HDFS 
[leichu@big002 ~]$ stop-dfs.sh
## 关闭 big003 上的 YARN 
[leichu@big003 ~]$ stop-yarn.sh
## 关闭  big002 上的 历史服务 
[leichu@big002 ~]$ mr-jobhistory-daemon.sh stop historyserver
1
2
3
4
5
6
更新时间: 2021-05-05 21:07:37