oozie集群阻塞

环境:CDH5.14.0,oozie,hvie,yarn,hdfs都是默认版本。

背景:生产中使用oozie调度多个任务流,其中包括hive脚本,MapReduce程序,python脚本。

现象:集群中多个oozie launcher的MR占用大量资源,真正跑数据的任务在hung on等待状态,导致集群阻塞。

问题分析:

  1. 使用oozie调度时启动数据任务前会启动对应的oozie launcher来监控调度任务
  2. 任务多导致oozie launcher的并发高导致oozie launcher会启动多个,占用大量资源
  3. oozie launcher的声明周期是数据任务开始之前到结束,资源不会释放
  4. 当资源别oozie launcher抢占到不能分配给数据任务时oozie会等待有空闲资源来分配给数据任务,导致整个集群陷入阻塞
  5. oozie launcher单个占用资源较大会使用2个container,2core,4G内存(默认)

问题解决方案:

  1. 较少单个oozie launcher的资源占用
  2. 限制oozie并发的数量

问题解决实现:

  1. 配置oozie launcher自己的资源池来实现资源隔离
  2. 配置参数减小oozie launcher的资源使用量

配置资源池具体步骤:

  1. 在cdh中新建root.oozie资源池cdh配置动态资源池
  2. 新建资源池

    配置资源

    然后创建即可,刷新资源池启动。

  3. 在配置oozie的work flow时为oozie launcher制定资源队列

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

    指定资源队列

    然后执行workflow就会发现oozie launcher在root.oozie队列中了,不会与数据任务抢占资源。

减少oozie launcher单个资源占用

  1. 设置参数
    oozie.launcher.mapreduce.map.memory.mb 512
    oozie.launcher.yarn.app.mapreduce.am.resource.mb  512

    可以将参数直接配置在workflow,也可以配置在oozie.site.xml中全局作用

  2. 若果发现没有效果的话查看yarn集群的最小资源限制,有可能会超过上述配置,那么集群就会去两个之中的最大值

    yarn集群的最小容器内存

    将其改为512M就可以了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值