前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR(弹性MapReduce)入门之资源管理器YARN及其故障排除(七)

EMR(弹性MapReduce)入门之资源管理器YARN及其故障排除(七)

原创
作者头像
小司机带你入门EMR
修改2020-02-25 10:17:57
1.9K0
修改2020-02-25 10:17:57
举报
文章被收录于专栏:EMR冲鸭

整个EMR的集群调度工具是YARN,那我们就继续学习下去吧。首先了解yarn的功能。

YARN

YARN的介绍

是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或作业的DAG(有向无环图)。

YARN Web UI界面详解

访问方式:登录yarn自带的yarn web ui界面,查看yarn的任务队列、资源等情况,登录方式为通过EMR控制台提供的快捷入口(组件管理->yarn->原生web ui的访问地址)进入。

从图中可以看到整个集群的一些监控信息:

代码语言:javascript
复制
应用信息:9 个等待,7 个执行,51 个完成,总结 67 个;其中有 15 个 container 正在执行。
内存信息:总共 36G,使用了 30G,保留 10G
虚拟核信息:总共 20 个,使用了 15 个,保留 5 个
节点信息:可用节点 5 个,退服 0 个,丢失节点 0 个,不健康节点 0 个,重启节点 0 个
调度器信息:使用 Fair Scheduler(公平调度器),最大最小的内存和 CPU 分配信息

Application Queues 栏包含了集群的任务队列信息(以 root.hadoop 队列为例):

代码语言:javascript
复制
使用的资源:内存 30720M(30G),虚拟核 15 个
正在执行的应用 7 个
等待的应用 9 个
占用最小资源:0M,0 核
占用最大资源:36860M,20 核
队列资源的稳定的公共共享
队列的瞬时公平共享资源
该队列占用资源的比例为 83.3%

Application Queues参数说明

代码语言:javascript
复制
Queue State:队列状态
Used Capacity:该队列已使用的资源占该队列的百分比
Absolute Used Capacity:该队列已使用资源占root队列的百分比
Absolute Capacity:该队列默认分配的资源占root队列的百分比
Absolute Max Capacity:该队列分配的资源最大可占父队列的百分比
Used Resource:该队列使用的资源数量
Num Schedulable Applications:该队列正在调度的应用数
Num Non-Schedulable Applications:该队列没有在调度的应用数
Num Containers:该队列已启动的容器数量
Max Applications:最大可运行的应用数量(yarn.scheduler.capacity.maximum-applications * Absolute Capacity)
Max Applications Per User:单个用户最大可运行的应用数量
Max Schedulable Applications:集群最大可调度应用数量,取决于内存总量、应用最小内存分配、AM可用资源占比
Max Schedulable Applications Per User:单个用户最大可调度应用数量。
(Max Schedulable Applications * 该队列capacity占比 * 单用户可使用队列资源占比)
Configured Capacity:该队列默认分配的资源占父队列的百分比
Configured Max Capacity:该队列默认最大占父队列资源的百分比
Configured Mininum User Limit Percent:单个用户最少可使用队列资源的百分比,最大值与用户数有关
Configured User Limit Factor:每个User最多可以使用几个其他队列的资源

Yarn集群的基础排障

1、如何查看yarn集群任务运行的日志信息?

解决方法:通过错误日志或者任务日志中找到任务id(appid);在主节点运行yarn logs -applicationid appid 命令。

2、yarn集群节点不健康下线的原因?

解决方法:yarn集群节点下线一般可能是由于节点上磁盘占用超过90%。可以通过扩容磁盘来解决。

3、yarn nodemanger启动失败,启动日志中出现报错信息:

代码语言:javascript
复制
WARN org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.
ContainersMonitorImpl: NodeManager configured with 7.2 G physical memory 
allocated to containers, which is more than 80% of the total physical memory available (7.7 G). 
Thrashing might happen.

原因分析:物理内存不足,超过yarn默认值;yarn nodemanger内存配置过大。

代码语言:javascript
复制
解决办法:修改yarn-site.xml中的yarn.nodemanger.resource.memory-mb、
yarn.scheduler.minimum-allocation-mb、yarn.scheduler.maximum.allocation-mb。

4、yarn服务不可用?

解决方法:通过手动添加ip和机器名称到/etc/hosts中。

5、yarn的节点丢失问题?

解决方法:去查看/data/emr/yarn/local目录和/data/emr/yarn/logs目录,这两个目录必须存在。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • YARN
    • YARN的介绍
      • YARN Web UI界面详解
      • Yarn集群的基础排障
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档