Inceptor compact 性能优化方法

  性能相关
内容纲要

概要描述

本文主要描述在几个典型场景下 Inceptor 的 compact 任务性能优化方法。

详细说明

本文描述的典型场景有以下几个:

  1. Inceptor 提交到 YARN 上的 compact 任务并发数较低

  2. YARN 上大量 compact 任务积压在 Pending 状态

  3. Inceptor 提交到 YARN 上的 compact 任务执行慢

场景1 Inceptor 提交到 YARN 上的 compact 任务并发数较低

这种情况常见的现象是 YARN 上同时存在的 Compact 任务比较少,且执行完成后会立即有新的 Compact 任务提交上来。

具体的确认方法可以参考Inceptor 合并队列的查看方法,如果发现合并队列中大量任务处于初始化状态(即状态代码i),就属于这种情况,可以参考下面的优化方法。

因为根本原因是因为 Inceptor Metastore 的 Compact Worker 线程数比较低,导致同时可以提交到 YARN 上的 compact 任务比较少,所以可以考虑增加 Inceptor Metastore 的 Compact Worker 线程数。

具体修改方法是,在 Manager 8180 页面上,进入 Inceptor 服务,点击左侧的【配置】标签,查看一下参数hive.compactor.worker.threads看看是否有配置,如果配置了就将他修改为10或者更高;如果没配置的话,就添加一个自定义参数hive.compactor.worker.threads,配置文件选hive-site.xml,值填10或者更高。

配置为10的意思是有10个 Compact Worker 线程可以同时工作,默认值为2,可以根据需要继续添加。

file

修改完配置后,需要点击【更多操作】>【配置服务】,然后重启 Inceptor 服务(也可以只重启所有的 Metastore 角色)后方可生效。

场景2 YARN 上大量 compact 任务积压在 Pending 状态

这种场景常见的现象是 YARN 上能看到大量的 Pending 任务堆积,YARN 的并发能力跟不上了。

通常可以提高 YARN 的并发能力来解决,具体步骤如下。

首先在 Manager 页面,点击【管理】>【Guardian】,点击左侧的【角色】标签,进入任意 Guardian Server 角色的链接中,并使用管理员账号登录(注意必须是租户内用户登录)。

登录后,点击【权限】>【YARN】>【yarn1】。

file

展开【全局配置】,点击后面的【编辑】,并添加一条新的配置项yarn.scheduler.capacity.maximum-am-resource-percent

file

配置的值建议为 0.40.6 之间。这个配置决定了任务能使用的资源比例,如果是0.4就能使用最多 40% 的资源。默认值为 0.1。

修改后,打勾保存配置。

然后再点击 capacity 队列配置后面的【编辑】,分别点击【root】和【default】队列后面的编辑按钮。

file

然后调整maxAMResource配置项的值,建议改为0.30.5中的任意值。

都修改完后,保存并激活队列。

以上配置全部完成后,需要在 YARN 服务中点击【更多操作】>【配置服务】,然后重启服务后方可生效。

场景3 Inceptor 提交到 YARN 上的 compact 任务执行慢

这种情况常见的现象是同一个 Compact 任务在 YARN 上处于 RUNNING 状态的时间比较长,执行比较慢。

因为 Compact 任务归根到底是通过 MapReduce 引擎来计算的,所以可以考虑增加 MapReduce 资源。

需要调整 Inceptor 和 YARN 服务的相关参数,以下参数请先在服务的配置页面搜索,如果搜到了就直接修改,如果没搜到,就添加自定义参数。

Inceptor 参数修改

mapreduce.map.memory.mb,配置文件hive-site.xml,建议增大该配置,如果想配置为8GB,则值为8192

mapred.map.java.opts,配置文件hive-site.xml,建议增大该配置,如果想配置为8GB,则值为-Xmx8192m

YARN 参数修改

yarn.nodemanager.resource.memory-mb,配置文件为yarn-site.xml,建议增大该配置,如果想配置为8GB,则值为8192

mapred.map.java.opts,配置文件为mapred_site,建议增大该配置,如果想配置为10GB,则值为-Xmx10240m

修改完配置后,需要分别在 Inceptor 和 YARN 服务中点击【更多操作】>【配置服务】,然后重启服务后方可生效。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。