私はsparkがYARNクラスター/クライアントでどのように実行されるかを理解しようとしています。次の疑問が頭にあります。
sparkがyarnクラスターのすべてのノードにインストールされている必要がありますか?クラスターのワーカーノードがタスクを実行し、=のコード(spark API) sparkドライバーによってクラスターに送信されたアプリケーション?
ドキュメントでは、「HADOOP_CONF_DIR
またはYARN_CONF_DIR
は、Hadoopクラスターの(クライアント側の)構成ファイルを含むディレクトリを指します。 "クライアントノードがクラスターにジョブを送信するときにHadoopをインストールする必要があるのはなぜですか?
spark YARNでジョブを実行しています(HDP 2.2を使用)。
spark=はクラスターにインストールされていません。Spark Assembly jarをHDFSに追加しただけです。
たとえば、Piの例を実行するには:
./bin/spark-submit \
--verbose \
--class org.Apache.spark.examples.SparkPi \
--master yarn-cluster \
--conf spark.yarn.jar=hdfs://master:8020/spark/spark-Assembly-1.3.1-hadoop2.6.0.jar \
--num-executors 2 \
--driver-memory 512m \
--executor-memory 512m \
--executor-cores 4 \
hdfs://master:8020/spark/spark-examples-1.3.1-hadoop2.6.0.jar 100
--conf spark.yarn.jar=hdfs://master:8020/spark/spark-Assembly-1.3.1-hadoop2.6.0.jar
-この設定は、ヤーンにsparkアセンブリを使用することを指示します。使用しない場合、実行したjarをアップロードしますspark-submit
。
2番目の質問について:クライアントノードにHadoopをインストールする必要はありません。構成ファイルのみが必要です。クラスターからクライアントにディレクトリをコピーできます。
他の回答に追加します。
- sparkがyarnクラスターのすべてのノードにインストールされている必要がありますか?
No、sparkジョブがYARN(client
またはcluster
モードのいずれか)でスケジューリングされている場合。] Spark スタンドアロンモード の場合のみ、多くのノードでインストールが必要です。
これらはsparkアプリ展開モードの視覚化です。
Spark Standalone Cluster
cluster
モードではdriverが座っていますSpark Worker nodeの一方はclient
モードはジョブを起動したマシン内になります。
YARNクラスターモード
YARNクライアントモード
次の表に、これらのモードの違いの簡潔なリストを示します。
- ドキュメントには、「HADOOP_CONF_DIRまたはYARN_CONF_DIRがHadoopクラスターの(クライアント側)構成ファイルを含むディレクトリを指していることを確認する」と書かれています。クライアントノードがクラスターにジョブを送信するときにHadoopをインストールする必要があるのはなぜですか?
Hadoopのインストールは必須ではありませんただし、構成(すべてではない)は必須です! ゲートウェイノードとして呼び出すことができます。これには2つの主な理由があります。
HADOOP_CONF_DIR
ディレクトリに含まれる設定は、アプリケーションで使用されるすべてのコンテナが同じ設定を使用するように、YARNクラスターに配布されます。yarn-default.xml
)から取得されます。したがって、--master
パラメーターはyarn
です。
更新:(2017-01-04)
Spark 2.0+ ファットアセンブリjarは不要になりました実稼働展開用。 ソース
1-Sparkスレーブ/マスターアーキテクチャに従う場合。したがって、クラスタにspark masterおよびN sparkスレーブ。スタンドアロンモードでsparkを実行できます。ただし、Yarnアーキテクチャを使用するといくつかの利点が得られます。これについては非常に適切な説明があります: http:/ /blog.cloudera.com/blog/2014/05/Apache-spark-resource-management-and-yarn-app-models/
2-たとえばYarnやHDFSを使用する場合は必要ですが、前に述べたように、スタンドアロンモードで実行できます。