【问题标题】:yarn is using 100% resources when running a hive job运行 hive 作业时,yarn 正在使用 100% 的资源
【发布时间】:2015-07-06 16:22:41
【问题描述】:

我正在运行 hive tez 作业。工作是将数据从一个文本文件格式的表加载到另一个兽人格式的表中。

我正在使用

INSERT INTO TABLE ORDERREQUEST_ORC 
PARTITION(DATE)
SELECT 
COLUMN1, 
COLUMN2, 
COLUMN3,
DATE
FROM ORDERREQUEST_TXT; 

当我通过 ambari Web 控制台监控作业时,我看到 YARN 内存使用率为 100%。

您能否建议如何保持健康的纱线记忆。

三个数据节点的平均负载;

 1. top - 17:37:24 up 50 days, 3:47, 4 users, load average: 15.73, 16.43, 13.52 
 2. top - 17:38:25 up 50 days, 3:48, 2 users, load average: 16.14, 15.19, 12.50 
 3. top - 17:39:26 up 50 days, 3:49, 1 user, load average: 11.89, 12.54, 10.49 

这些是纱线配置

 yarn.scheduler.minimum-allocation-mb=5120 
 yarn.scheduler.maximum-allocation-mb=46080 
 yarn.nodemanager.resource.memory-mb=46080

仅供参考:- 我的集群配置

 Nodes = 4 (1 Master, 3 DN ) 
 memory = 64 GB on each node 
 Processors = 6 on each node 
 1 TB on each node (5 Disk * 200 GB)

如何减少纱线利用率内存?

【问题讨论】:

  • 每个容器 5 GB最少??但无论如何,实际的hive.tez.container.size(默认为mapreduce.map.memory.mb)和tez.am.resource.memory.mb (默认为yarn.app.mapreduce.am.resource.mb)是什么?

标签: hadoop memory hive hadoop-yarn ambari


【解决方案1】:

您收到错误是因为尚未将集群配置为为每个用户分配最大纱线内存。

请在 Yarn 配置中设置以下属性,为每个作业分配 33% 的最大纱线内存,可以根据您的要求进行更改。

更改自:

yarn.scheduler.capacity.root.default.user-limit-factor=1

收件人:

yarn.scheduler.capacity.root.default.user-limit-factor=0.33

如果您需要这方面的更多信息,请参阅以下链接 https://analyticsanvil.wordpress.com/2015/08/16/managing-yarn-memory-with-multiple-hive-users/

【讨论】:

  • @Foxan Ng - 我们可以在提交此作业时使用设置的参数吗?会生效吗?
  • 另外,还有一个问题,该参数是否仅适用于默认队列,或者设置该参数会将所有队列置于 .33 % 的使用率中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
  • 2021-09-06
  • 2019-12-05
相关资源
最近更新 更多