启动Spark在UI界面上看不到worker节点的信息

时间:2024-03-26 15:15:56

问题描述

作者是在centos上安装spark-2.3.0-bin-hadoop2.7.tgz,当配置好spark-env.sh,改好slaves文件之后,在sbin/目录下运行命令./start-all.sh来启动Spark时,发现没有报错,以为启动成功,但是在Spark的UI界面上看不到worker的信息。此时第一反应都是worker节点启动失败,然后会用jps命令去查看,但是惊喜地发现Worker进程成功启动了。于是一脸懵逼,不知所措......

启动Spark在UI界面上看不到worker节点的信息

解决办法

接下来一般会有两种选择,第一种是直接google,一般网上都有相关的解决办法;第二种是作者比较推荐的,到worker节点的SPARK_HOME/logs路径下去看worker的日志文件,找找原因。一般来说阅读日志文件用more命令或者less命令比较方便。

如果你是直接google的同学,恭喜你,你能找到相关的解决办法,这篇文章已经很好地说明了解决办法。但是总是感觉解决办法有点不够完美,作者在网上也没有搜到比较直接便捷的解决方案,于是想着记录一下。

如果你去阅读日志文件,会发现如下的错误:

启动Spark在UI界面上看不到worker节点的信息

然后再去解决这个问题的时候会发现,到头来是spark-env.sh文件的问题

export JAVA_HOME=/usr/java/jdk1.8.0
export SPARK_MASTER_IP=172.16.229.129
export SPARK_MASTER_PORT=7077

一般Spark的安装教程上就是这样配置的,这是针对之前的Spark版本,至少作者用的Spark-2.3.0不适合,需要将SPARK_MASTER_IP改为SPARK_MASTER_HOST,同时要用真实的IP地址,不能用/etc/hosts文件中配置的master(作者配置172.16.229.129为master)

export JAVA_HOME=/usr/java/jdk1.8.0
export SPARK_MASTER_HOST=172.16.229.129
export SPARK_MASTER_PORT=7077

改好之后重新启动Spark,发现问题得到解决。

启动Spark在UI界面上看不到worker节点的信息