Ich habe Spark auf einem Cloudera CDH5.3-Cluster ausgeführt, mit YARN als Ressourcenmanager. Ich entwickle Spark-Apps in Python (PySpark).PySpark verteilte Verarbeitung auf einem YARN-Cluster
Ich kann Jobs einreichen und sie laufen erfolgreich, aber sie scheinen nie auf mehr als einer Maschine zu laufen (die lokale Maschine, von der ich schicke).
Ich habe eine Vielzahl von Optionen ausprobiert, wie zum Beispiel --deploy-mode zu cluster und --master zu Garn-client und yarn-cluster, aber es scheint nie auf mehr als einem Server zu laufen.
Ich kann es auf mehr als einem Kern laufen lassen, indem man etwas wie --master local [8] übergibt, aber das verteilt offensichtlich die Verarbeitung nicht über mehrere Knoten.
Ich habe ein sehr einfaches Python-Skript Verarbeitung von Daten von HDFS etwa so:
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()
und ich bin ein vorlegen Befehl wie Laufen:
spark-submit atest.py --deploy-mode client --master yarn-client
Was kann ich den Job läuft, um sicherzustellen, tun parallel über den Cluster?
Ich denke, das ist nicht wahr, Pyspark kann auf einem Garn Cluster laufen. –
Wenn Sie Pyspark betreiben möchten. Versuchen Sie: pyspark --deploy-mode client --master yarn-client – kennyut