我搜索了邮件列表和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绑定的网络接口。
非常感谢任何帮助。
答案 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。