打开Spark shell时出现问题

时间:2016-12-06 12:13:17

标签: apache-spark

我正在尝试使用命令

打开spark
  

$ spark-shell

但得到警告。如何解决它。

警告:

WARN util.Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.

3 个答案:

答案 0 :(得分:5)

您可以在命令提示符下运行时随时更改的Spark端口

[hadoop @ localhost~] $ spark-shell --conf spark.ui.port = 4041

默认情况下,spark会进入4040

答案 1 :(得分:1)

默认情况下,Spark会尝试绑定端口4040。  在你的情况下,4040已经有一个火花过程在运行。

以下消息不是错误,因为spark将在端口4041上运行:

WARN util.Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.

来自Spark Documentation

  

每个SparkContext默认在端口4040上启动Web UI   显示有关应用程序的有用信息。这包括:

     

如果多个SparkContexts在同一主机上运行,​​它们将绑定到连续的端口   从4040(4041,4042等)开始。

答案 2 :(得分:0)

先前的答案也帮助我开始了工作。在进一步研究中,我发现spark进行了16次尝试以自动分配端口。 Refer to Spark Documentation

enter image description here

一件好事是spark还建议如何配置一个新的未使用的端口并启动该端口的spark shell

java.net.BindException: Address already in use: Service 'SparkUI' failed after 16 retries (starting from 4040)! Consider explicitly setting the appropriate port for the service 'SparkUI' (**for example spark.ui.port for SparkUI**) to an available port or increasing spark.port.maxRetries.