首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何增加Tez的容器物理内存?

如何增加Tez的容器物理内存?
EN

Stack Overflow用户
提问于 2016-10-26 09:45:54
回答 4查看 19.9K关注 0票数 3

我已经在一个带有hive 1.0和tez 0.8的aws emr 4.8集群上运行了一些hive脚本。

我的配置如下所示:

代码语言:javascript
复制
SET hive.exec.compress.output=true;
SET mapred.output.compression.type=BLOCK;
SET hive.exec.dynamic.partition = true;
SET hive.exec.dynamic.partition.mode = nonstrict;
set hive.execution.engine=tez;
set hive.merge.mapfiles=false;
SET hive.default.fileformat=Orc;
set tez.task.resource.memory.mb=5000;
SET hive.tez.container.size=6656;
SET hive.tez.java.opts=-Xmx5120m;
set hive.optimize.ppd=true;

我的全局配置是:

代码语言:javascript
复制
hadoop-env.export   HADOOP_HEAPSIZE 4750
hadoop-env.export   HADOOP_DATANODE_HEAPSIZE    4750
hive-env.export HADOOP_HEAPSIZE 4750

在运行我的脚本时,我得到以下错误:

代码语言:javascript
复制
Container [pid=19027,containerID=container_1477393351192_0007_02_000001] is running beyond physical memory limits. Current usage: 1.0 GB of 1 GB physical memory used; 1.9 GB of 5 GB virtual memory used. Killing container.

在谷歌上搜索这个错误时,我读到设置tez.task.resource.memory.mb将更改物理内存限制,但显然我错了。我遗漏了什么?

EN

回答 4

Stack Overflow用户

发布于 2019-08-09 22:57:34

我已经有很多这样的问题了。不断变化的

代码语言:javascript
复制
Set hive.tez.container.size=6656;
Set hive.tez.java.opts=-Xmx4g;

不会为我解决这个问题,但它可以:

代码语言:javascript
复制
set tez.am.resource.memory.mb=4096;
票数 5
EN

Stack Overflow用户

发布于 2016-10-26 12:19:58

将Tez容器大小设置为纱线容器大小的较大倍数(4 4GB):

代码语言:javascript
复制
SET hive.tez.container.size=4096MB

"hive.tez.container.size“和"hive.tez.java.opts”是更改配置单元中Tez内存设置的参数。如果"hive.tez.container.size“设置为"-1”(默认值),则选择"mapreduce.map.memory.mb“的值。如果未指定"hive.tez.java.opts“,则依赖于"mapreduce.map.java.opts”设置。因此,如果Tez特定的内存设置保留为默认值,则从mapreduce映射器内存设置“mapreduce.map.memory.mb”中选择内存大小。

https://documentation.altiscale.com/memory-settings-for-tez

有关更多信息,请访问Tez configurationTez memory tuning

注意:使用Ambari设置为MB

票数 2
EN

Stack Overflow用户

发布于 2020-02-12 04:42:41

如果其他人在上面这个帖子上遇到了试图解决这个问题的人,这里有一个真正的解决方案的链接,这个解决方案对我来说是有效的,而其他所有的解决方案都没有。

http://moi.vonos.net/bigdata/hive-cli-memory/

TL;DR将这些添加到您的配置单元中,调用--hiveconf tez.am.resource.memory.mb=<size as int> --hiveconf tez.am.launch.cmd-opts=""

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40252412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档