Ich habe Funken und Hadoop auf OS X installiert ich erfolgreich durch ein Beispiel gearbeitet, wo Hadoop lokal lief, hatte Dateien in HDFS gespeichert und ich lief Funken mitApache Spark lokal ausgeführt Refused Giving Verbindungsfehler
spark-shell --master yarn-client
und aus der Shell heraus mit HDFS gearbeitet. Ich habe jedoch Probleme, Spark ohne HDFS zu bekommen, nur lokal auf meinem Rechner. Ich this answer aussah, aber es fühlt sich nicht richtig um mit Umgebungsvariablen durcheinander, wenn die Spark documentation sagt
Es ist einfach, die lokal auf einem Rechner laufen - alles, was Sie brauchen, ist zu haben Java auf Ihrem System bereits installiert haben, oder die JAVA_HOME-Umgebungsvariable , die auf eine Java-Installation verweist.
Wenn ich das grundlegende SparkPi
Beispiel führe, bekomme ich die korrekte Ausgabe.
Wenn ich versuche, den Beispiel-Java-App they provide, erneut ausführen, I-Ausgang, aber diesmal mit Verbindung abgelehnt Fehler im Zusammenhang mit Port 9000, die wie es klingt zu Hadoop zu verbinden versucht, aber ich weiß nicht, warum, weil ich nicht, dass
$SPARK_HOME/bin/spark-submit --class "SimpleApp" --master local[4] ~/study/scala/sampleJavaApp/target/simple-project-1.0.jar
Exception in thread "main" java.net.ConnectException: Call From 37-2-37-10.tssg.org/10.37.2.37 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
...
...
...
org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:604)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:699)
at org.apache.hadoop.ipc.Client$Connection.access(Client.java:367)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1462)
at org.apache.hadoop.ipc.Client.call(Client.java:1381)
... 51 more
15/07/31 11:05:06 INFO spark.SparkContext: Invoking stop() from shutdown hook
15/07/31 11:05:06 INFO handler.ContextHandler: stopped o.s.j.s.ServletContextHandler{/metrics/json,null}
...
...
...
15/07/31 11:05:06 INFO ui.SparkUI: Stopped Spark web UI at http://10.37.2.37:4040
15/07/31 11:05:06 INFO scheduler.DAGScheduler: Stopping DAGScheduler
15/07/31 11:05:06 INFO spark.MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
15/07/31 11:05:06 INFO util.Utils: path = /private/var/folders/cg/vkq1ghks37lbflpdg0grq7f80000gn/T/spark-c6ba18f5-17a5-4da9-864c-509ec855cadf/blockmgr-b66cc31e-7371-472f-9886-4cd33d5ba4b1, already present as root for deletion.
15/07/31 11:05:06 INFO storage.MemoryStore: MemoryStore cleared
15/07/31 11:05:06 INFO storage.BlockManager: BlockManager stopped
15/07/31 11:05:06 INFO storage.BlockManagerMaster: BlockManagerMaster stopped
15/07/31 11:05:06 INFO scheduler.OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
15/07/31 11:05:06 INFO spark.SparkContext: Successfully stopped SparkContext
15/07/31 11:05:06 INFO util.Utils: Shutdown hook called
15/07/31 11:05:06 INFO util.Utils: Deleting directory /private/var/folders/cg/vkq1ghks37lbflpdg0grq7f80000gn/T/spark-c6ba18f5-17a5-4da9-864c-509ec855cadf
Alle Hinweise/Erklärungen, die Angabe, wohin ich gehe falsch wäre sehr geschätzt!
UPDATE
Es scheint, dass die Tatsache, dass ich die Umgebungsvariable HADOOP_CONF_DIR
Satz einige Probleme verursacht haben. Unter diesem Verzeichnis habe ich core-site.xml
, die folgenden
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
enthält Wenn ich den Wert beispielsweise ändern <value>hdfs://localhost:9100</value>
dann, wenn ich versuche, den Funken Job ausgeführt werden soll, die Verbindung verweigerte Fehler auf diesen verändert Port So
Exception in thread "main" java.net.ConnectException: Call From 37-2-37-10.tssg.org/10.37.2.37 to localhost:9100 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
aus irgendeinem Grunde bezieht sich trotz anweist, lokal auszuführen, es versucht zu HDFS zu verbinden. Wenn ich die Umgebungsvariable HADOOP_CONF_DIR
entferne, funktioniert der Job einwandfrei.
Richten Sie die Master-Konfiguration auch in Ihrem Job ein? – eliasah
Ich bin mir nicht sicher, was genau du meinst (was ein Zeichen dafür sein könnte, dass es nicht funktioniert!). Ich verwende nur den Befehl '$ SPARK_HOME/bin/Funken einreichen --Klasse "SimpleApp" --master local [4] ~/Studie/scala/sampleJavaApp/target/simple-Projekt-1.0.jar' –
wie geht es dir Einrichten Ihres SparkContext in Ihrem Java-Projekt? – eliasah