介绍
Hadoop是一个开源的分布式计算框架,用于存储和处理大规模数据集。它最初由Apache软件基金会开发,并成为Apache项目的一部分。Hadoop的设计目标是能够在由廉价硬件组成的集群上进行可靠的、可扩展的分布式计算。
Hadoop的核心组件包括:
- Hadoop Distributed File System(HDFS):HDFS是Hadoop的分布式文件系统,用于存储大规模数据集。它将数据划分成多个块,并在集群中的多个节点上进行分布式存储。HDFS提供了高容错性和可靠性,能够处理大规模数据的并发读写操作。
- MapReduce: MapReduce是Hadoop的分布式计算框架,用于并行处理大规模数据集。MapReduce将计算任务分解为多个子任务,并在集群中的多个节点上并行执行。它包括两个主要阶段:Map阶段和Reduce阶段,用于数据的映射和归约操作。
- YARN(Yet Another Resource Negotiator):YARN是Hadoop的资源管理器,负责集群资源的管理和任务调度。它允许多个应用程序共享集群资源,并根据需求进行动态分配。YARN提供了更灵活的资源管理机制,使得Hadoop可以同时运行多种计算框架,如MapReduce、Apache Spark、Apache Fink等。
Hadoop的优势在于它的可扩展性、容错性和成本效益。通过将数据划分和存储在多个节点上,Hadoop可以处理海量的数据,并提供了高吞吐量和并行计算能力。它还具有容错机制,能够自动处理节点故障和数据冗余。此外,Hadoop时候用廉价的商用硬件,相对于传统的大型数据中心解决方案,具有更低的成本。
安装前准备
环境
- centos 7.x
- java 1.8.0_201
- Hadoop 3.3.4
规划
| IP地址 |
主机名 |
hdfs |
yarn |
| 172.16.77.202 |
hadoop-master-202 |
NameNode、SecondaryNameNode |
ResourceManager、JobHistoryServer |
| 172.16.77.203 |
hadoop-node-203 |
DataNode |
NodeManager |
| 172.16.77.204 |
hadoop-node-204 |
DataNode |
NodeManager |
| 172.16.77.205 |
hadoop-node-205 |
DataNode |
NodeManager |
关闭防火墙和SELINUX
1
2
3
4
5
|
systemctl stop firewalld && systemctl disable firewalld
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
setenforce 0
|
创建hadoop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#创建用户
adduser hadoop
#设置密码
echo "123456" | passwd hadoop --stdin
#将hadoop添加到sudoers文件中
chmod u+w /etc/sudoers
#编辑sudoers文件
vi /etc/sudoers
...... #加入以下内容, 如果想让hadoop用户使用sudo时不用输入密码,可以写入`hadoop ALL=(ALL) NOPASSWD: ALL`
hadoop ALL=(ALL) ALL
......
chmod u-w /etc/sudoers
|
设置各主机之间免密登录
添加hosts文件
1
2
3
4
5
6
|
cat << EOF >> /etc/hosts
172.16.77.202 hadoop-master-202
172.16.77.203 hadoop-node-203
172.16.77.204 hadoop-node-204
172.16.77.205 hadoop-node-205
EOF
|
设置主机间互信,在每台主机生成ssh公钥私钥,并将公钥拷贝到所有主机,包括自己
1
2
3
4
5
6
7
8
|
######注意: 使用hadoop用户#####
ssh-keygen -t rsa #需要输入四个回车
#拷贝密钥 或者使用ssh-copy-id -i ~/.ssh/id_rsa.pub
ssh-copy-id 172.16.77.202
ssh-copy-id 172.16.77.203
ssh-copy-id 172.16.77.204
ssh-copy-id 172.16.77.205
|
安装JDK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
##需要提前下载好jdk并上传至服务器
#创建存放目录并解压jdk
mkdir /usr/java
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/java/
#设置环境变量
vim /etc/profile
...... #写入如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
##加载环境环境,测试是否安装成功
source /etc/profile
java -version #有以下输出,说明正常
java version "1.8.0_201"
......
|
注意:以上操作需要在所有机器操作
安装Hadoop
下载hadoop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#创建安装目录,后续大数据组件的安装都在此目录下
mkdir /home/hadoop/software
#下载hadoop 3.3.4
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz --no-check-certificate
#解压至安装目录
tar -zxvf hadoop-3.3.4.tar.gz -C /home/hadoop/software/
#安装包下主要目录和文件:
bin: 包含了Hadoop个钟服务组件的命令脚本,如启动和停止NameNode、DataNode、ResourceManager等服务。
etc: 存放包含各种配置文件的目录,如果hdfs-site.xml、core-site.xml等。
lib: 包含类库文件,如hadoop-common、hadoop-hdfs、hadoop-mapreduce等组件的JAR文件。
libexec:包含了一些hadoop的内部脚本和可执行文件,用于支持hadoop的运行和管理。
include:包含了hadoop的头文件,用于开发hadoop相关的应用程序。
sbin:包含hadoop各种可执行文件的目录,如hdfs、yarn、mapred等命令脚本。
share:存放Hadoop共享文件的目录。
#将hadoop安装目录分配至hadoop用户
chown -R hadoop:hadoop /home/hadoop/software/
|
配置环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
vim /etc/profile
......
export HADOOP_HOME=/home/hadoop/software/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
##加载环境环境,测试是否安装成功
source /etc/profile
hadoop version
#出现以下内容,说明正常
Hadoop 3.3.4
......
|
配置hadoop自己的环境变量。上面所配置的是所有用户共有的,如果这里不创建自己的,下面配置hadoop时就需要在hadoop-env.sh中写入JAVA_HOME变量,不然启动hadoop时会提示没有JAVA_HOME
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
su - hadoop
vim ~/.bashrc
......
#java
export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
#hadoop
export HADOOP_HOME=/home/hadoop/software/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
##加载环境环境
source ~/.bashrc
|
配置hadoop
修改core-site.xml
1
|
/home/hadoop/software/hadoop-3.3.4/etc/hadoop/core-site.xml
|
参考:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
<configuration>
<property>
<!-- 设置为 HDFS 的默认文件系统 URI -->
<name>fs.defaultFS</name>
<value>hdfs://172.16.77.202:8020</value>
</property>
<property>
<!-- 设置hadoop的临时目录 -->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/software/hadoop-3.3.4/data</value>
</property>
<property>
<!-- 设置 Hadoop 代理用户可以使用的主机 -->
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<!-- 设置 Hadoop 代理用户可以使用的组 -->
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<!-- 设置 root 代理用户可以使用的组 -->
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<!-- 指定文件在被删除后保留在HDFS垃圾回收站中的时间间隔(以分钟为单位),默认为一天(1440 分钟) -->
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<!-- Hue WebHDFS proxy user setting -->
<property>
<!-- 设置 hue 代理用户可以使用的主机 -->
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<!-- 设置 hue 代理用户可以使用的组 -->
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
<property>
<!-- 设置 httpfs 代理用户可以使用的主机 -->
<name>hadoop.proxyuser.httpfs.hosts</name>
<value>*</value>
</property>
<property>
<!-- 设置 httpfs 代理用户可以使用的组 -->
<name>hadoop.proxyuser.httpfs.groups</name>
<value>*</value>
</property>
<property>
<!-- 设置Hadoop文件系统数据流缓冲区大小 指定文件缓冲区大小为 128KB,即 131072 字节 -->
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<!-- 开启 Hadoop RPC 日志记录 -->
<name>hadoop.rpc.protection</name>
<value>privacy</value>
</property>
</configuration>
|
修改hdfs-site.xml
1
|
/home/hadoop/software/hadoop-3.3.4/etc/hadoop/hdfs-site.xml
|
参考:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<configuration>
<property>
<!-- HDFS 数据副本数,需要根据实际情况设置,以保障数据的可靠性 -->
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<!-- 启用 HDFS 的文件权限校验,默认即可 -->
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
<property>
<!-- 指定 HDFS 数据块大小,需要根据实际情况设置以保障性能 -->
<name>dfs.blocksize</name>
<value>128m</value>
</property>
<property>
<!-- 配置 NameNode 的运行目录,NameNode 会在此目录下存储命名空间和事务日志 -->
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/software/hadoop-3.3.4/hdfs/name</value>
</property>
<property>
<!-- 配置 DataNode 的运行目录,每个 DataNode 会在此目录下存储数据块 -->
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/software/hadoop-3.3.4/hdfs/data</value>
</property>
<property>
<!-- 指定 Hadoop NameNode 的 web ui监听地址和端口。 -->
<name>dfs.namenode.http-address</name>
<value>172.16.77.202:9870</value>
<description>
The address and the base port where the dfs namenode web ui will listen on.
</description>
</property>
<!-- 2nn Web端访问地址 -->
<property>
<!-- 配置 NameNode 的辅助 HTTP 端口,用于与 NameNode 交换数据 -->
<name>dfs.namenode.secondary.http-address</name>
<value>172.16.77.202:9868</value>
</property>
<property>
<!--启用HDFS的WebHDFS功能-->
<name>dfs.webhdfs.enable</name>
<value>true</value>
</property>
<property>
<!--禁用hdfs的权限检查,不设置会导致开发在本地连接hive创建表时提示没有权限-->
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
|
修改mapred-site.xml
1
|
/home/hadoop/software/hadoop-3.3.4/etc/hadoop/mapred-site.xml
|
参考:https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<configuration>
<property>
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<!-- 用于指定MapReduce应用程序的类路径 -->
<name>mapreduce.application.classpath</name>
<value>$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
<property>
<!-- MR程序作业历史服务地址 -->
<name>mapreduce.jobhistory.address</name>
<value>172.16.77.202:10020</value>
</property>
<property>
<!-- MR程序作业历史服务器web端地址 -->
<name>mapreduce.jobhistory.webapp.address</name>
<value>172.16.77.202:19888</value>
</property>
<property>
<!--设置MapReduce应用程序的环境变量-->
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<!--用于设置MapReduce中的Map任务的环境变量-->
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<!--用于设置MapReduce中的Reduce任务的环境变量-->
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<!-- 配置 MapReduce 任务最大重试次数 默认值4 -->
<name>mapreduce.map.maxattempts</name>
<value>4</value>
</property>
<property>
<!-- 配置 MapReduce 任务执行超时时间,单位毫秒 默认值换算为10分钟-->
<name>mapreduce.task.timeout</name>
<value>600000</value>
</property>
<property>
<!--指定每个映射任务要使用的内存量(以 MB 为单位)。-->
<name>mapreduce.map.memory.mb</name>
<value>4096</value>
</property>
<!--hive gc后新增-->
<property>
<!--指定每个 reduce 任务要使用的内存量(以 MB 为单位)。-->
<name>mapreduce.reduce.memory.mb</name>
<value>4096</value>
</property>
<property>
<!--指定映射器 Java 虚拟机的最大堆大小。-->
<name>mapreduce.map.java.opts</name>
<value>-Xmx3276m</value>
</property>
<property>
<!--指定Reducer Java虚拟机的最大堆大小。-->
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx3276m</value>
</property>
</configuration>
|
修改yarn-site.xml
1
|
/home/hadoop/software/hadoop-3.3.4/etc/hadoop/yarn-site.xml
|
参考:https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
<configuration>
<property>
<!--
是 YARN NodeManager 的配置项之一,用于指定一些额外的辅助服务。在 YARN 中,一个应用程序可能需要运行一些额外的服务,
例如 distributed shell 应用通常需要运行 shell 环境中的某些服务。 这里只指定了一个服务 mapreduce_shuffle。
-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--用于配置YARN资源管理器(ResourceManager)的主机名-->
<name>yarn.resourcemanager.hostname</name>
<value>172.16.77.202</value>
</property>
<property>
<!-- 是否启用日志聚合功能-->
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<!--用于指定YARN节点管理器在执行日志聚合时滚动监视文件的时间间隔-->
<name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
<value>86400</value>
</property>
<property>
<!--用于指定日志聚合的保留时间。以秒为单位,-->
<name>yarn.log-aggregation.retain-seconds</name>
<value>60480</value>
</property>
<property>
<!-- 开启YARN的日志聚合并存储在HDFS中 -->
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
</property>
<property>
<!-- 配置 NodeManager 的日志目录和地址 -->
<name>yarn.nodemanager.log-dirs</name>
<value>/home/hadoop/software/hadoop-3.3.4/logs</value>
</property>
<property>
<!-- 指定 YARN 应用程序日志的服务器 URL,也就是 JobHistoryServer -->
<name>yarn.log.server.url</name>
<value>http://0.0.0.0:19888/jobhistory/logs</value>
</property>
<property>
<!--是否对容器实施物理内存限制。生产环境建议开启-->
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<!-- 是否对容器实施虚拟内存限制。 生产环境建议开启-->
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<!-- 可以分配给容器的物理内存量(MB) -->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>204800</value>
</property>
<property>
<!-- 每个容器请求在 RM 的内存最小分配(以 MB 为单位) -->
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<!-- 每个容器请求在 RM 的内存最大分配(以 MB 为单位) -->
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>8192</value>
</property>
<property>
<!-- 设置 NodeManager 允许的 CPU 资源量(以虚拟 CPU 个数为单位),对任务执行的 CPU 开销进行统一的限制。 -->
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>45</value>
</property>
<property>
<!-- YARN 调度器最小的 CPU 资源分配单元(以虚拟 CPU 个数为单位),默认为1。 -->
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value>
</property>
<property>
<!-- YARN 调度器最大的 CPU 资源分配单元(以虚拟 CPU 个数为单位) -->
<!-- 高于此的请求将抛出InvalidResourceRequestException。 -->
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>8</value>
</property>
<property>
<!-- 配置 YARN 的应用程序调度器 -->
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
<property>
<!--用于设置yarn调度器的公平调度器(FairScheduler)中的抢占策略,默认是false不开启-->
<name>yarn.scheduler.fair.preemption</name>
<value>true</value>
</property>
<property>
<!--用于设置YARN调度器的公平调度器(Fair Scheduler)中的抢占策略的集群利用率阈值。
该属性的值被设置为0.8,表示当集群的利用率达到80%时触发抢占策略。-->
<name>yarn.scheduler.fair.preemption.cluster-utilization-threshold</name>
<value>0.8</value>
</property>
<property>
<!-- 开启YARN的节点标签 -->
<name>yarn.node-labels.enabled</name>
<value>true</value>
</property>
</configuration>
|
修改workers
1
2
3
4
5
6
|
/home/hadoop/software/hadoop-3.3.4/etc/hadoop/workers
#写入DataNode节点和NodeManager节点对应服务器主机名或ip地址
####注意:如果你不想在NameNode节点上运行DataNode 就不要添加NameNode的地址
172.16.77.203
172.16.77.204
172.16.77.205
|
分发目录
将hadoop安装目录拷贝到各个节点上
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#切换到hadoop用户
su - hadoop
#查看路径
pwd
/home/hadoop
#传输hadoop
scp -r software/ hadoop@172.16.77.203:/home/hadoop/
scp -r software/ hadoop@172.16.77.204:/home/hadoop/
scp -r software/ hadoop@172.16.77.205:/home/hadoop/
#传输bashrc
scp ~/.bashrc hadoop@172.16.77.203:~/.bashrc
scp ~/.bashrc hadoop@172.16.77.204:~/.bashrc
scp ~/.bashrc hadoop@172.16.77.205:~/.bashrc
|
注意:在各个节点上要添加hadoop的环境变量
启动hadoop
格式化NameNode
注意:格式化只在NameNode节点执行,只需要最开始执行一次即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
hdfs namenode -format
......
#出现以下类似内容,说明成功了
2023-08-22 21:59:07,790 INFO namenode.FSImage: Allocated new BlockPoolId: BP-1786430205-172.16.77.202-1692712747782
2023-08-22 21:59:07,803 INFO common.Storage: Storage directory /home/hadoop/software/hadoop-3.3.4/hdfs/name has been successfully formatted.
2023-08-22 21:59:07,833 INFO namenode.FSImageFormatProtobuf: Saving image file /home/hadoop/software/hadoop-3.3.4/hdfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
2023-08-22 21:59:07,963 INFO namenode.FSImageFormatProtobuf: Image file /home/hadoop/software/hadoop-3.3.4/hdfs/name/current/fsimage.ckpt_0000000000000000000 of size 401 bytes saved in 0 seconds .
2023-08-22 21:59:07,976 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2023-08-22 21:59:08,020 INFO namenode.FSNamesystem: Stopping services started for active state
2023-08-22 21:59:08,020 INFO namenode.FSNamesystem: Stopping services started for standby state
2023-08-22 21:59:08,023 INFO namenode.FSImage: FSImageSaver clean checkpoint: txid=0 when meet shutdown.
2023-08-22 21:59:08,024 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop-master-202/172.16.77.202
************************************************************/
|
启动/关闭hdfs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
####一次性启动hdfs集群
####会在202上启动NameNode SecondaryNameNode
####会在203-205上启动DataNode
start-dfs.sh
###单个组件启动 最好按下面顺序来启动
#在每个服务器上去启动对应的组件
#--------202-----------------
#启动NameNode web端口为9870
hdfs --daemon start namenode
#启动SecondaryNameNode web端口为9868
hdfs --daemon start secondarynamenode
#--------203-205----------------
#启动DataNode web端口为9864
hdfs --daemon start datanode
#可以使用jps查看状态
jps
#######-------------对应关闭-----------
####一次性关闭hdfs集群
####会在202上关闭NameNode SecondaryNameNode
####会在203-205上关闭DataNode
stop-dfs.sh
#在每个服务器上去关闭对应的组件
#--------202-----------------
#关闭NameNode
hdfs --daemon start namenode
#关闭SecondaryNameNode
hdfs --daemon start secondarynamenode
#--------203-205----------------
#关闭DataNode
hdfs --daemon start datanode
|
启动/关闭yarn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
####一次性启动yarn集群
####会在202上启动ResourceManager
####会在203-205上启动NodeManager
start-yarn.sh
#需要单独启动JobHistoryServer 这里放在202中
mapred --daemon start historyserver
###单个组件启动 最好按下面顺序来启动
#在每个服务器上去启动对应的组件
#--------202-----------------
#启动ResourceManager web端口为8088
yarn --daemon start resourcemanager
#启动JobHistoryServer web端口为19888
mapred --daemon start historyserver
#--------203-205----------------
#启动NodeManager web端口为8042
yarn --daemon start nodemanager
#可以使用jps查看状态
jps
#######-------------对应关闭-----------
####一次性关闭yarn集群
####会在202上关闭ResourceManager
####会在203-205上关闭NodeManager
stop-yarn.sh
#关闭JobHistoryServer
mapred --daemon stop historyserver
#在每个服务器上去关闭对应的组件
#--------202-----------------
#启动ResourceManager web端口为8088
yarn --daemon stop resourcemanager
#关闭JobHistoryServer
mapred --daemon stop historyserver
#--------203-205----------------
#启动NodeManager web端口为8042
yarn --daemon stop nodemanager
|