我在一个w/o公共DNS集群上安装了spark (刚刚在云中创建了机器)。Hadoop看起来安装和工作正常,但是Sparks将7077和6066监听为127.0.0.1,而不是公共ip,因此工作节点无法连接到它。
怎么啦?
主节点上的/etc/host如下所示:
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我的$spark_HOME/conf/spark env.sh看起来如下:
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.XXsudo -pan|grep 7077
tcp 0 0 127.0.1.1:7077 0.0.0.0:* LISTEN 6670/java发布于 2016-11-05 14:48:19
您应该在SPARK_MASTER_HOST中指定spark-env.sh (必须是对从节点可见的计算机地址)。此外,您可能需要在iptables中为端口7077和6066添加规则。
https://stackoverflow.com/questions/39958550
复制相似问题