Spark启动集群所有机器时worker无法启动或无法在集群管理器上线

零、前言

Spark的搭建过程就不多说了,网上有多教程,这里主要参考这个链接http://www.tuicool.com/articles/QBRJn。但是在配置过程中也遇到了很多问题,这里就只说一说Spark启动集群所有机器时worker无法启动或无法在集群管理器上线的问题,折腾了两天终于搞明白设置方法!

一、问题描述

使用start-all.sh启动集群所有的机器时worker无法启动或无法在集群管理器上线。这里分两种情况,一是从Master机执行启动集群命令Salve根本就不相应;而是Salve机可以跟随集群启动,但是在集群管理器的webUI上不上线。

0x01 worker无法启动

如果worker根本无法启动建议首先检查从Master机知否可以ssh无密码登录Salve机,若无法成功尝试参考如下两个链接

https://chenhuachao.com/2016/05/26/ssh%E5%87%BA%E9%94%99-sign-and-send-pubkey-signing-failed-agent-refused-operation/

http://blog.csdn.net/zhenliangqun/article/details/50375375

如果出现如下错误

一般与进程阻塞问题,建议重启Salve机

0x02 worker无法在集群管理器上线

如果Salve机无法在集群管理器上线,既下图的webUI中只有一个工作节点(这个节点就是Master机,因为它既可以是主节点也可以作为工作节点的一员)而其他工作节点无法上线,

在worker节点上的log日志里看到如下错误:

WARN Worker:Failed to connect to master ubuntu://7077

也就是start-all.sh可以将worker启动起来,但是worker无法连接到集群管理器,建议参考以下配置

配置Master机/etc/hosts:

127.0.0.1       localhost
192.168.211.106       ubuntu

注意:这里的ubuntu原来可能是127.0.1.1,现在要改成你本机的ip

配置Master机$SPARK_HOME/conf/spark-env.sh:

export JAVA_HOME=/home/Spark/SoftWare/jdk1.8.0_121
export SCALA_HOME=/home/Spark/SoftWare/scala-2.10.4i
export HADOOP_CONF_DIR=/home/Spark/SoftWare/hadoop-2.7.2
export SPARK_MASTER_IP=ubuntu
export SPARK_LOCAL_IP=192.168.211.106
export SPARK_WORKER_MEMORY=2G
export SPARK_MASTER_PORT=7077
export MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}

注意:

1、这里的SPARK_MASTER_IP使用的是hostname

2、SPARK_LOCAL_IP是本机ip,在这里hostname的重定向虽然是本机ip,但是SPARK_LOCAL_IP直接写hostname不一定成功。

3、本配置的hostname既是ubuntu

配置Salve机/etc/hosts:

127.0.0.1       localhost
127.0.1.1       salve
192.168.211.106       ubuntu

注意:

1、Master机与Salve机的hostname不能一致

2、Salve机的$SPARK_HOME/conf/spark-env.sh配置无关紧要

若问题解决即可看到所有worker上线

参考链接:http://blog.csdn.net/xummgg/article/details/50634327

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*