hue+oozie并发集群阻塞的调优经历

hue+oozie并发集群阻塞的调优经历

问题描述

使用hue+oozie进行数据仓库开发,部署了大量workflow和并发任务,定时晚上集中时间执行时出现任务卡死状态,全部是oozie launcher的job任务

方案一 调大集群资源,开启资源抢占

一开始以为集群资源不够,使用了公平调度原因,多个并发任务导致资源竞争任务卡死,然后修改参数yarn.scheduler.fair.preemption开启资源抢占,减小ApplicationMaster占用资源数,配置修改如下图所示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试结果还是卡死,只是卡死的任务数变多了,问题还是没有得到解决,一天过去了,继续探索

方案二 控制用户任务并发数

chd配置方法,如下图所示,进行用户资源做大任务限制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我设置了六个,然后并发测试,神奇的发现这里当并发到六个资源以后,一样卡死了,资源还有一半的空闲,不是资源问题,又郁闷了一天过去了

方案三 控制用户任务并发数

根据上面的资源配置发现不是资源问题,那就是hue+oozie的问题了,研究oozie的机制才明白问题的真正原因。
使用oozie调度时启动数据任务前会启动对应的oozie launcher来监控调度任务 任务多导致oozie launcher的并发高导致oozie launcher会启动多个,占用大量资源 oozie launcher的声明周期是数据任务开始之前到结束,资源不会释放 当资源别oozie launcher抢占到不能分配给数据任务时oozie会等待有空闲资源来分配给数据任务,导致整个集群陷入阻塞 oozie launcher单个占用资源较大会使用2个container,2core,4G内存(默认)
每个任务都会有一个oozie launcher来守护就像是开路保镖一样,当真实的任务结束以后oozie launcher才会结束,一开始所有资源占用完是因为全部是oozie launcher任务,然后oozie launcher任务都在等待自己的“主人”运行通过,没想到来的任务太多,所有的资源都被oozie launcher占用完了,都在等在自己的“主人”通过,所有的路都被一群眼瞎的保安堵死了,这些保安也不知道,就出现一直等待的状态,后来控制资源使用只限制六个app,当这个六个app都被oozie launcher占用时,就出现了一样的效果。
解决方案
给oozie launcher开辟单独的资源池,并且限制oozie并发的数量,让他们和的“主人”不走同一个通道,就不会出现路被同时堵死的情况,控制并发防止资源被占用完。
配置方式如下:
1.创建新的资源池,这里我们限制这个资源池最多跑四个job,防止太多的oozie launcher占用计算资源
在这里插入图片描述
在这里插入图片描述
2.在hue的任务中配置使用这个资源池

oozie.launcher.mapred.job.queue.name    root.oozie

在这里插入图片描述
在这里插入图片描述
然后执行workflow就会发现oozie launcher在root.oozie队列中了,不会与数据任务抢占资源。
在cdh中单独配置了oozie的mr

oozie.launcher.mapreduce.map.memory.mb 512
oozie.launcher.yarn.app.mapreduce.am.resource.mb  512

在这里插入图片描述
然后改了yarn集群的最小容器内存
将其改为512M就可以了。
也可以直接配置在每个workflow节点里在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Hue 是一个 Hadoop 生态圈的 Web 界面,它可以方便地管理和使用 Hadoop 生态圈的各种组件,包括 Impala。下面是使用 Hue 和 Impala 的简单教程: 1. 安装和配置 Impala 首先,需要在 Hadoop 集群中安装和配置 Impala。具体的安装和配置步骤可以参考 Impala 官方文档。 2. 启动 Hue 启动 Hue 的命令如下: ``` $ sudo service hue start ``` 启动成功后,在浏览器中输入 Hue 的 URL 地址,例如:`http://localhost:8888/`,进入 Hue 的登录页面。输入用户名和密码,点击登录即可进入 Hue 的主界面。 3. 创建 Impala 表 在 Hue 的主界面中,点击左侧菜单栏的“Impala”选项,进入 Impala 的查询页面。在查询页面中,输入 Impala 建表语句,例如: ``` CREATE TABLE my_table ( id INT, name STRING, age INT, gender STRING ) ``` 然后,点击“Execute”按钮,执行该语句,即可创建名为`my_table`的表。 4. 查询 Impala 表 在 Hue 的 Impala 查询页面中,输入 Impala 查询语句,例如: ``` SELECT * FROM my_table; ``` 然后,点击“Execute”按钮,执行该语句,即可查询`my_table`表中的数据。 5. 导入数据到 Impala 表 在 Hue 的 Impala 查询页面中,可以使用 LOAD DATA 命令将数据导入到 Impala 表中。例如: ``` LOAD DATA INPATH '/path/to/data' INTO TABLE my_table; ``` 6. 使用 Impala 高级功能 Hue 还提供了 Impala 的高级功能,例如:查询分析器、视图、UDF 等。在 Hue 的 Impala 查询页面中,可以使用这些高级功能,从而更方便地管理和使用 Impala。 以上就是使用 Hue 和 Impala 的基本教程,Hue 还有很多其他的功能,可以根据需要进行学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值