2016-07-20 7 views
2

私は火花がYARNモードに提出使ってHadoopクラスタ上でスパークタスクを起動しようとしています提出します。スパークはYARNモードHADOOP_CONF_DIRの内容は

私は、私の開発マシンから火花提出立ち上げています。

Running Spark On YARN文書によれば、私はenv var HADOOP_CONF_DIRまたはYARN_CONF_DIRにhadoopクラスタ構成のパスを提供することになっています。これは難しいところです:リモートのYARNサービスにタスクを送信する場合、なぜこれらのフォルダがローカルマシンに存在する必要がありますか?これは、spake-submitがの中にあることを意味しますか?クラスタですか?したがって、私はスパークタスクをリモートで起動できませんか?そうでない場合、これらのフォルダにはどのような項目を入れる必要がありますか?タスクマネージャーサービスが存在するYARNクラスターノードからhadoop構成フォルダーをコピーする必要がありますか?

答えて

7

1)仕事のスパークを提出することがに接続しているかを知る必要があります。ファイルが解析され、Hadoopクラスタに接続するために必要な設定が使用されています。あなたが実際に非セキュアHadoopクラスタに接続するために、(ファイル内のクラスタに接続するすべての構成を必要としないことを意味し、ドキュメントに彼らはそれが(右の最初の文で)クライアント側の設定であると言うことに注意してくださいミニマリストコンフィギュレーション)あなたは、少なくとも現在、以下のコンフィグ必要があります。

  • fs.defaultFS(ケース
  • dfs.nameservices
  • yarn.resourcemanager.hostnameまたはyarn.resourcemanager.address
  • )HDFSから読みますが、意図に
  • (他は構成に応じて、必要となる場合があります)

あなたが提出されているジョブのコードで同じ設定を設定することで、ファイルを避けることができます。

SparkConf sparkConfiguration = new SparkConf(); 
sparkConfiguration.set("spark.hadoop.fs.defaultFS", "..."); 
... 

2 )Spark Submissionは、クラスタに接続する方法を知っている限り、必ずしもクラスタ上にあるわけではなく、任意のマシン上に配置できます(Eclipseからの送信、インストールはせずに、Sparkに関連するプロジェクトの依存関係を実行することもできます)。

3)あなたがして、設定フォルダを移入する必要があります

  • コア-site.xmlの
  • 糸-site.xmlの
  • HDFS-site.xmlの
  • mapred-site.xmlの
  • をサーバーからこれらのファイルをコピーする は

を開始するための最も簡単な方法です。スパーク・サブミットで必要とされない、またはセキュリティに敏感な構成を削除することができます。

+0

ありがとうございます。私はしばらくこの周りを頭で覆そうとしていましたが、ドキュメンテーションは十分にはっきりしていますが、いくつかのユースケースがあり、いくつか混じっていました。私は本当に良い要約が必要でした:-) – NotGaeL

+0

'mapred-site'がSparkに必要ですか? –

+0

@ cricket_007原則としてそうではありません。私はすぐにテストして報告します。 – Serhiy

関連する問題