2015-09-14 5 views
5

Ich habe eine aws ec2-Cluster-Setup von der Spark-ec2-Skript.Wie man Zeppelin benutzt, um auf aws spark-ec2 cluster und s3 buckets zuzugreifen

Ich möchte Zeppelin konfigurieren, damit ich Scala-Code lokal auf Zeppelin schreiben und auf dem Cluster (über Master) ausführen kann. Außerdem möchte ich auf meine s3 Buckets zugreifen können.

Ich folgte this guide und this other one jedoch kann ich Scala-Code von Zeppelin zu meinem Cluster nicht scheinen.

ich lokal installiert Zeppelin mit

mvn install -DskipTests -Dspark.version=1.4.1 -Dhadoop.version=2.7.1 

Meine Sicherheitsgruppen eingestellt wurden beide AmazonEC2FullAccess und AmazonS3FullAccess.

bearbeiten ich die Funken Interpreter Eigenschaften auf dem Zeppelin Webapp zu Funken: //.us-west-2.compute.amazonaws.com: 7077 von lokalen [*]

  1. Als ich austesten

    sc 
    

    im Interpreter, ich erhalte diese Störung

    java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) at 
    
  2. Wenn ich versuche, "conf/zeppelin-site.xml" zu bearbeiten, um meinen Port zu 8082 zu ändern, kein Unterschied.

HINWEIS: ich würde schließlich wollen auch wie meine s3 Eimer mit etwas zugreifen:

sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "xxx") 
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey","xxx") 
val file = "s3n://<<bucket>>/<<file>>" 
val data = sc.textFile(file) 
data.first 

, wenn irgendwelche gütigen Benutzer einen Rat haben (das war nicht bereits auf Stackoverflow veröffentlicht) bitte Gib mir Bescheid!

Antwort

2

Höchstwahrscheinlich ist Ihre IP-Adresse für die Verbindung mit Ihrem Funkencluster gesperrt. Sie können versuchen, indem Sie die Spark-Shell auf diesen Endpunkt zeigen (oder auch nur Telnet). Um das Problem zu beheben, können Sie sich in Ihrem AWS-Konto anmelden und die Firewall-Einstellungen ändern. Es ist auch möglich, dass es nicht auf den richtigen Host gerichtet ist (ich nehme an, Sie haben die spezifische Box aus spark://.us-west-2.compute.amazonaws.com:7077 entfernt, aber wenn nicht, sollte es ein bisschen für die .us-west-2 sein). Sie können versuchen, ssh'ing zu diesem Rechner und netstat --tcp -l -n laufen zu lassen, um zu sehen, ob es zuhört (oder einfach nur ps aux | grep java, um zu sehen, ob Spark läuft).

+1

Sie hatten Recht! Ich musste einfach den Port in meinen EC2 Sicherheitsgruppen öffnen. Vielen Dank! – liber

+0

toll, froh zu helfen :) – Holden

Verwandte Themen