1

我正在运行 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)

如何减少纱线利用率记忆?

4

1 回答 1

5

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

请在 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/

于 2016-03-16T07:14:21.750 回答