Spark:无法将WebUI限制为localhost接口

时间:2016-03-28 15:15:00

标签: apache-spark

我搜索了邮件列表和SO spark标签,但似乎(几乎?)每个人都有与我相反的问题。我试着找一个答案的来源,但我想我还可以看看是否有其他人遇到了和我一样的问题。

我正在尝试限制我的Master / Worker UI仅在localhost上运行。就目前而言,我在spark-env.sh中设置了以下两个环境变量:

SPARK_LOCAL_IP=127.0.0.1
SPARK_MASTER_IP=127.0.0.1

我的奴隶文件包含一行:127.0.0.1

问题在于,当我运行start-all.sh时,我可以nmap我的方框的公共界面并获得以下内容:

PORT     STATE SERVICE
22/tcp   open  ssh
8080/tcp open  http-proxy
8081/tcp open  blackice-icecap

此外,我可以在浏览器的端口8080访问我的盒子的公共IP,并获取主节点的UI。用户界面甚至会报告URL / REST URL为127.0.0.1

Spark Master at spark://127.0.0.1:7077
URL: spark://127.0.0.1:7077
REST URL: spark://127.0.0.1:6066 (cluster mode)

如果没有明确的SSH隧道,我宁愿不以任何方式向外界提供火花。

设置Web UI端口有变量,但我不关心端口,只关注Web UI绑定的网络接口。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

对于spark 1.6,请执行以下操作:

  • open core / src / main / scala / org / apache / spark / ui / WebUI.scala

  • 找到行' serverInfo = Some(startJettyServer(" 0.0.0.0",port, 处理程序,conf,name))'

  • 更改" 0.0.0.0"在您在LAN

  • 中定义的某个主机名的行中

在此之后,您可以通过LAN或SSH隧道访问WebUI。