0

ハイブで頻繁にエラーメッセージが表示される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 です。ハイブ実行エンジンを mr に変更すると、正常に動作します。

Hive cli で同じクエリを実行すると、tez で正常に動作します。

さまざまなフォーラムで述べたように、コンテナーのサイズを変更しようとしましたが、役に立ちません。

SET hive.tez.container.size=20000
SET hive.tez.java.opts=-Xmx10240m -XX:NewRatio=8

上記の設定では、コンテナのサイズが効果的に増加しないようです。

また、クラスター全体を占有しています。

私の質問は:

  1. ハイブ クエリで生成されるコンテナの数を制限して、大きなクエリのためにクラスタが停止しないようにする方法はありますか?
  2. コンテナーのサイズを大きくするにはどうすればよいですか?
  3. コンテナのサイズを大きくする以外に方法はありますか?

    hive version: 1.2.1

    hdp: 2.3.2

4

2 に答える 2

1

これは、コンテナー内のタスク メモリ使用量に対する YARN の制限が原因です。

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.

yarn 構成フォルダーの yarn-site で pmem および vmem チェックを無効にすることができます。

ありがとう

于 2016-11-16T18:12:19.200 に答える