电商数仓3.0 数仓搭建之Hive关于Yarn调度器并发度问题解决

本文针对电商数仓3.0中Hive在Yarn调度器上遇到的并发度问题进行探讨。通过调整ApplicationMaster资源比例和增设队列,如创建hive专属队列,来提升Hadoop大数据处理的效率。测试结果显示,这些改动有效提高了任务并发执行的能力。

默认队列default

Yarn默认调度器为Capacity Scheduler(容量调度器),且默认只有一个队列——default。如果队列中执行第一个任务资源不够,就不会再执行第二个任务,一直等到第一个任务执行完毕。
解决办法一:增加ApplicationMaster资源比例,进而提高运行app数量。
解决办法二:创建多队列,比如增加一个hive队列。

// 由于未指定队列,初始化的 spark session 默认占用 defaul 队列,且会一直占用该队列,直到 hive 客户端退出
hive (default)> insert into table student values(1,'abc');

// 若再次提交任务,由于容量调度器单个队列并行度未1,故提交任务一直等待

在这里插入图片描述

增加ApplicationMaster资源比例

调整yarn.scheduler.capacity.maximum-am-resource-percent该参数。默认值是0.1,表示集群上AM最多可使用的资源比例,目的为限制过多的app数量。

// 修改 Hadoop 下配置文件capacity-scheduler.xml 
[scorpion@warehouse102 ~]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/capacity-scheduler.xml 
<property>
    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
    <value>0.5</value>
    <description>
      Maximum percent of resources in the cluster which can be used to run
      application masters i.e. controls number of concurrent running
      applications.
    </description>
  </property>

// 分发
[scorpion@warehouse102 ~]$ xsync /opt/module/hadoop-3.1.3/etc/hadoop/capacity-scheduler.xml

在这里插入图片描述

增加Yarn容量调度器队列

默认Yarn的配置下,容量调度器只有一条default队列。在capacity-scheduler.xml中可以配置多条队列,修改以下属性,增加hive队列。

// 修改 Hadoop 下配置文件capacity-scheduler.xml 
[scorpion@warehouse102 ~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值