11

リソース マネージャーとして YARN を使用して、Cloudera CDH5.3 クラスターで Spark を実行しています。Python (PySpark) で Spark アプリを開発しています。

ジョブを送信でき、正常に実行されますが、複数のマシン (送信元のローカル マシン) で実行されるようには見えません。

--deploy-mode を cluster に、 --master を yarn-client および yarn-cluster に設定するなど、さまざまなオプションを試しましたが、複数のサーバーで実行されることはないようです。

--master local[8] のようなものを渡すことで複数のコアで実行できますが、明らかに複数のノードに処理が分散されません。

HDFS からのデータを次のように処理する非常に単純な Python スクリプトがあります。

import simplejson as json
from pyspark import SparkContext
sc = SparkContext("", "Joe Counter")

rrd = sc.textFile("hdfs:///tmp/twitter/json/data/")

data = rrd.map(lambda line: json.loads(line))

joes = data.filter(lambda tweet: "Joe" in tweet.get("text",""))

print joes.count()

そして、次のような送信コマンドを実行しています:

spark-submit atest.py --deploy-mode client --master yarn-client

ジョブがクラスター全体で並行して実行されるようにするにはどうすればよいですか?

4

4 に答える 4

9

コマンドの引数を交換できますか? spark-submit --deploy-mode client --master yarn-client atest.py

コマンドのヘルプ テキストが表示された場合:

火花提出

Usage: spark-submit [options] <app jar | python file>
于 2015-02-08T20:26:26.757 に答える