2017-10-12 6 views
1

これはHiveのクエリが頻繁に利用されて、利用可能なYARNエグゼキュータの大半とCDHクラスタのメモリを消費するというグループの一般的な問題です。根本的な問題は、テーブルのパーティション数とジョインの複雑さにありますが、これらのテーブルを自由に再構築することはできません。 spark.dynamicAllocation.maxExecutorsとspark.executor.memoryを設定することで、Sparkのリソース消費を制御できます。 Hueがクラスター上の他のジョブで「うまくいく」ように、Hueで使用できるものがありますか?使用可能なコンテナの数を制限するHive on Hue(CDH 5.9.3)の構成設定はありますか?

答えて

0

HueはUIであり、Hiveが使用するリソースの数を制御できません。これは、スケジューリング方針によってYARNによって制御されます。 CDHクラスタの場合、公平スケジューラが一般的に使用されます。

http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

あなたはこれをセットアップする方法についていくつかの背景情報については、以下をご覧ください。

0

はい、あなたはもっと自分のHueHiveクエリを-launchedから使用されているHadoopクラスタのコンピューティングリソースの量を管理することができます。

これを行うには、最初にYARNスケジューラキューを設定する必要があります。 ClouderaののCDHの配布のために、これらは動的資源プール

と呼ばれているあなたは、あなたのヒュー・発売し、半インタラクティブ、ハイブのクエリのために意図プールを設定したらあなたはCDH Documentation

でこのトピックについての詳細を学ぶことができますmapred.job.queue.nameキーの値のリソースプール名を渡して、個々のクエリに対してこのプールにHiveに指示できます。

私たちのキュー名はinteractive.hive_queueとふりましょう。私たちは、HiveQLクエリステートメントの前に、このSET声明を付加します:

SET mapred.job.queue.name=interactive.hive_queue; 

あなたはこの設定値は、あなたのフエユーザーが通過できるようにするために、あなたの色相構成hue.iniを更新する必要があり

参考:HiveQL Language Manual

また、Hueで起動されたHiveクエリに対して、このYARNキューを常に使用するためにHue用に保存されたHive Configurationを作成することもできます。

参考:hiveserver2.py

(これは、あなたのハイブのクエリのMapReduceの(MR2)実行エンジンを使用していると仮定し)

あなたのハイブのクエリのすべてのキューを変更したい場合は、行うことができますHive Server2の設定hive-site.xmlを変更します。この変更は次のようになります。

<property> 
    <name>mapreduce.job.queuename</name> 
    <value>interactive.hive_queue</value> 
</property> 
関連する問題