我经常在配置单container running beyond physical memory limits. Current usage: 4.7 GB of 4GB physical memory used; 12.1 GB of 8.4 GB virtual memory used. Killing container
我使用jdbc连接在scala中执行此操作。
我的默认执行引擎是tez。如果将hive执行引擎更改为mr,它工作正常。
如果我在hive cli中执行相同的查询,在tez上它可以正常工作。
正如在各个论坛中所说,我试图改变容器大小,但它没有帮助。
SET hive.tez.container.size=20000
SET hive.tez.java.opts=-Xmx10240m -XX:NewRatio=8
看来上面的设置并没有有效地增加容器的大小。
它也在占据整个集群。
我的问题是:
除了增加容器尺寸外,还有其他出路吗?
hive version: 1.2.1
hdp: 2.3.2
答案 0 :(得分:1)
yarn.nodemanager.pmem-check-enabled true Whether physical memory limits will be enforced for containers.
yarn.nodemanager.vmem-check-enabled true Whether virtual memory limits will be enforced for containers.
您可以在纱线配置文件夹中禁用纱线现场的pmem和vmem检查。
由于
答案 1 :(得分:0)
hive> set mapreduce.map.memory.mb = 9000;
hive> set mapreduce.map.java.opts =- Xmx7200m;
hive> set mapreduce.reduce.memory.mb = 9000;
hive> set mapreduce.reduce.java.opts =- Xmx7200m;