2016-10-10 6 views
0

Ich installierte Spark auf einem Cluster von Computern ohne öffentliche DNS (nur Maschinen in einer Cloud erstellt). Hadoop scheint installiert zu sein und funktioniert ordnungsgemäß, aber Sparks hört auf 7077 und 6066 als 127.0.0.1 anstelle von öffentlicher IP, sodass Worker Nodes keine Verbindung zu ihm herstellen können.Spark hört auf localhost

Was ist los?

Meine/etc/hosts auf dem Master-Knoten wie folgt aussieht:

127.0.1.1 namenode namenode 
127.0.0.1 localhost 
XX.XX.XX.XX namenode-public 
YY.YY.YY.YY hadoop-2 
ZZ.ZZ.ZZ.ZZ hadoop-1 

My $ SPARK_HOME/conf/spark-env.sh wie folgt aussieht:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle 
export SPARK_PUBLIC_DNS=namenode-public 
export SPARK_WORKER_CORES=6 
export SPARK_LOCAL_IP=XX.XX.XX.XX 

sudo netstat -Pan | grep 7077

tcp  0  0 127.0.1.1:7077   0.0.0.0:*    LISTEN  6670/java 

Antwort

1

Sie SPARK_MASTER_HOST in spark-env.sh angeben sollen (es muss die Adresse Ihrer Maschine t sein Hut ist für die Slave-Knoten sichtbar). Außerdem müssen Sie möglicherweise Regeln für die Ports 7077 und 6066 in iptables hinzufügen.