私はDataProc Sparkクラスタを持っています。最初に、マスタノードと2つのワーカーノードはn1-standard-4(4 vCPU、15.0 GBメモリ)のタイプであり、Webコンソールを介してすべてn1-highmem-8(8個のvCPU、52 GBメモリ)にリサイズしました。Cloud Dataprocでワーカーノードのサイズを変更した後にスパーク設定を更新する方法
私は、2つのワーカーノードが完全に使用されていないことに気付きました。特に、/usr/lib/spark/conf/spark-defaults.conf
で
spark.executor.cores 2
spark.executor.memory 4655m
と第ワーカーノードと第2のワーカーノードの1つのキュータにのみ2エグゼキュータが存在します。私はspark.dynamicAllocation.enabled true
と思ったが、エグゼキュータの数は自動的に増えます。
また、WebコンソールのDataProcページに関する情報も自動的に更新されません。 DataProcはまだすべてのノードがn1-standard-4だと思っているようです。
私の質問は
- なぜ二よりも最初のワーカーノードの詳細のエグゼキュータがありますされていますか?
- なぜ各ノードにエグゼキュータを追加しないのですか?
- 理想的には、スパークの設定を更新する必要がある場合は、クラスタ全体を最大限に活用したいと考えています。
ありがとうございました。私は昨日自分で最初の2つのポイントを考え出した。第3の点として、作業者ノードの1つ( 'w-0')で' kill kill -9'を使ってノードマージャを殺し、 'sudo yarn nodemanager 'で起動しようとしましたが、システムがつまらない。エグゼキュータの数は増えましたが、何らかの理由でタスクを完了できませんでした。 'sudo yarn nodemanager'と' sudo service hadoop-yarn-nodemanager restart'の違いは何ですか? – zyxue
また、クラスタ間でHDFS上のデータを転送するための推奨される方法はありますか?データはかなり大きいです。 – zyxue
マシンごとに2つのYARNコンテナが必要で、1つのコンテナを占有するApplicationMasterが非常に非効率です。機械が大きいとき。クラスタを作成するときにこれを設定する方法はありますか? – zyxue