搭建部署Hadoop 之Yarn

简介:

Yarn 集群资源管理系统


Yarn 角色及概念

•Yarn 是 Hadoop 的一个通用的资源管理系统

• Yarn 角色

    – Resourcemanager

    – Nodemanager


    – ApplicationMaster

    – Container

    – Client

• ResourceManager

    – 处理客户端请求

    – 启动 / 监控 ApplicationMaster

    – 监控 NodeManager

    – 资源分配与调度

• NodeManager

    – 单个节点上的资源管理

    – 处理来自 ResourceManager 的命令

    – 处理来自 ApplicationMaster 的命令

• Container

    – 对任务运行行环境的抽象,封装了 CPU 、内存等

    – 多维资源以及环境变量、启动命令等任务运行相关的信息资源分配与调度

• ApplicationMaster

    – 数据切分

    – 为应用程序申请资源,并分配给内部任务

    – 任务监控与容错

• Client

    – 用户与 YARN 交互的客户端程序

    – 提交应用程序、监控应用程序状态,杀死应用程序等

Yarn 结构

001.jpg



• YARN 的核心思想

• 将 JobTracker 和 TaskTacker 进行分离,它由下面几大构成组件:

    – ResourceManager 一个全局的资源管理器

    – NodeManager 每个节点(RM)代理

    – ApplicationMaster 表示每个应用

    – 每一个 ApplicationMaster 有多个 Container 在NodeManager 上运行


系统规划

主机                                      角色                                    软件

192.168.4.1    master       Resource Manager         YARN

192.168.4.2    node1        Node Manager                YARN

192.168.4.3    node2        Node Manager                YARN

192.168.4.4    node3        Node Manager                YARN


Yarn 安装与配置        

具体实验准备 可以参考 http://blog.51cto.com/13558754/2066708


# ssh 192.168.4.1

# cd /usr/local/hadoop/

# cd etc/hadoop/

# cp mapred-site.xml.template mapred-site.xml

# vim mapred-site.xml

<configuration>

  <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>                        // 配置使用yarn 资源管理系统

  </property>

</configuration>


# vim yarn-site.xml

<configuration>

  <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>master</value>                //配置 Resource Manager 角色 

  </property>

  <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>            // 一个 java 的类 真实环境与开发人员沟通

  </property>

</configuration>

配置完成以后

# for i in node{1..3}                    //将配置文件同步到所有主机

> do

> rsync -azSH --delete /usr/local/hadoop/etc/hadoop/ ${i}:/usr/local/hadoop/etc/hadoop -e 'ssh'

> done


# cd /usr/local/hadoop/

启动 yarn 服务

# ./sbin/start-yarn.sh 

在所有主机上执行 jps, 查看是否启动成功

# for i in master node{1..3}

> do

> echo ${i}

> ssh ${i} "jps"

> done

master

3312 Jps

3005 ResourceManager

node1

3284 Jps

3162 NodeManager

node2

2882 NodeManager

3004 Jps

node3

2961 Jps

2831 NodeManager

 显示所有可用的计算节点

# ./bin/yarn node -list

18/01/31 06:41:56 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.4.1:8032

Total Nodes:3

         Node-Id     Node-StateNode-Http-AddressNumber-of-Running-Containers

     node3:46007        RUNNING       node3:8042                           0

     node2:54895        RUNNING       node2:8042                           0

     node1:51087        RUNNING       node1:8042  


resourcemanager

4.jpg

nodemangager

5.jpg

验证 Yarn

 

# bin/hadoop fs -ls /input

Found 3 items

-rw-r--r--   2 root supergroup      84854 2018-01-29 21:37 /input/LICENSE.txt

-rw-r--r--   2 root supergroup      14978 2018-01-29 21:37 /input/NOTICE.txt

-rw-r--r--   2 root supergroup       1366 2018-01-29 21:37 /input/README.txt

使用yarn 统计 样本文件中单词出现频率

# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount hdfs://master:9000/input  hdfs://master:9000/output

查看结果

# ./bin/hadoop fs -cat hdfs://master:9000/output/*



Yarn 节点管理

[root@master ~] # cat /etc/hosts

192.168.4.1master

192.168.4.2 node1

192.168.4.3 node2

192.168.4.4 node3

192.168.4.5 newnode

[root@newnode ~]# rsync -azSH --delete master:/usr/local/hadoop /usr/local


[root@master hadoop]# ./sbin/start-yarn.sh 

添加节点

[root@master hadoop]# ./bin/yarn node -list

18/01/28 21:06:57 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.4.1:8032

Total Nodes:3

         Node-Id      Node-State Node-Http-Address Number-of-Running-Containers

     node1:33596         RUNNING        node1:8042                            0

     node2:53475         RUNNING        node2:8042                            0

     node3:34736         RUNNING        node3:8042                            0


[root@newnode hadoop]# sbin/yarn-daemon.sh start nodemanager

[root@master hadoop]# ./bin/yarn node -list

18/01/28 21:07:53 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.4.1:8032

Total Nodes:4

         Node-Id      Node-State Node-Http-Address Number-of-Running-Containers

   newnode:39690         RUNNING      newnode:8042                            0

     node1:33596         RUNNING        node1:8042                            0

     node2:53475         RUNNING        node2:8042                            0

     node3:34736         RUNNING        node3:8042                            0


删除节点

[root@newnode hadoop]# sbin/yarn-daemon.sh stop nodemanager

//不会立即删除

[root@master hadoop]# ./bin/yarn node -list

18/01/28 21:11:31 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.4.1:8032

Total Nodes:4

         Node-Id      Node-State Node-Http-Address Number-of-Running-Containers

   newnode:39690         RUNNING      newnode:8042                            0

     node1:33596         RUNNING        node1:8042                            0

     node2:53475         RUNNING        node2:8042                            0

     node3:34736         RUNNING        node3:8042                            0

//需要重新启动服务

[root@master hadoop]# ./sbin/stop-yarn.sh 

[root@master hadoop]# ./sbin/start-yarn.sh 


[root@master hadoop]#  ./bin/yarn node -list

18/01/28 21:12:46 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.4.1:8032

Total Nodes:3

         Node-Id      Node-State Node-Http-Address Number-of-Running-Containers

     node1:42010         RUNNING        node1:8042                            0

     node2:55043         RUNNING        node2:8042                            0

     node3:38256         RUNNING        node3:8042                            0










本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2067497,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
105 0
|
5月前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
190 0
|
5月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
127 2
|
5月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
134 5
|
5月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
61 4
|
5月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
285 5
|
5月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
260 4
|
5月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
168 4
|
6月前
|
分布式计算 资源调度 Hadoop
Hadoop YARN资源管理-公平调度器(Fackbook的Fair Scheduler)
详细介绍了Hadoop YARN资源管理中的公平调度器(Fair Scheduler),包括其概述、配置、队列结构、以及如何将作业提交到指定队列,展示了公平调度器如何通过分配文件(fair-scheduler.xml)来控制资源分配,并提供了配置示例和如何通过命令行提交作业到特定队列的方法。
304 0
Hadoop YARN资源管理-公平调度器(Fackbook的Fair Scheduler)
|
6月前
|
分布式计算 资源调度 Hadoop
Hadoop YARN资源管理-容量调度器(Yahoo!的Capacity Scheduler)
详细讲解了Hadoop YARN资源管理中的容量调度器(Yahoo!的Capacity Scheduler),包括队列和子队列的概念、Apache Hadoop的容量调度器默认队列、队列的命名规则、分层队列、容量保证、队列弹性、容量调度器的元素、集群如何分配资源、限制用户容量、限制应用程序数量、抢占申请、启用容量调度器以及队列状态管理等方面的内容。
133 3

相关实验场景

更多