Zeppelin 更改端口已被 Spark Master 使用

Zeppelin change port already in use by Spark Master

当我在 AWS 上启动 zeppelin 时,它在端口 8080 上启动,但有 Spark Master,所以它说端口已被使用...我尝试在配置文件中更改 zeppelin 的端口,在 "zeppelin-site.xml.template"

<property>
  <name>zeppelin.server.port</name>
  <value>8050</value>
  <description>Server port.</description>
</property>

我也在 "zeppelin-env.sh.template" 中为同一端口添加了 env 行。

当我启动 zeppelin 时,一切正常,但是如果我看到打开的端口,它不会在任何地方出现 8050,所以看起来它仍在尝试在 Spark Master 所在的端口 8080 上部署...

有人让 zeppelin 不忽略更改的端口吗?

谢谢

您可能需要复制 .template 文件,例如将修改后的 zeppelin-env.sh.template 复制到 zeppelin-env.sh 并将 zeppelin-site.xml.template 复制到 zeppelin-site.xml.

确实,documented 两种方法都应该有效:

  • zeppelin.server.port 属性
  • 创建 conf/zeppelin-site.xml
  • 创建 conf/zeppelin-env.sh 并导出 ZEPPELIN_PORT 环境变量

并重新启动 Zeppelin

接受的答案似乎有点旧,所以我把我找到的解决方案放在这里,以防对其他人有用:

可以在 conf/zeppelin-env.shconf/zeppelin-site.xml 中定义变量(包括端口)。如果两者都已定义,则 zeppelin-env 优先。

来源:

http://zeppelin.apache.org/docs/snapshot/install/configuration.html

从你的 zeppelin 安装目录(我电脑上的例子是:zeppelin-0.7.3-bin-all):

cp conf/zeppelin-env.sh.template conf/zeppelin-env.sh
vi conf/zeppelin-env.sh

添加以下参数:

export ZEPPELIN_PORT=8180 # Add this line to zeppelin-env.sh

重新启动 zeppelin,您现在应该可以访问它了:

http://localhost:8180