实验环境
VMware15;Ubuntu16;zeppelin-0.8.1-bin-all.tgz
问题描述
成功解压文件,当执行 ./zeppelin-daemon.sh start
时显示OK
,但是当打开浏览器不能访问web界面。
原因分析及解决
1 防火墙屏蔽了
关闭防火墙,如下所示:
(base) hadoop@ubuntu:~/zeppelin/bin$ sudo ufw disable
[sudo] password for hadoop:
Firewall stopped and disabled on system startup
笔者未能解决问题,在看法二。
2 端口占用
排除各种问题后,猜想是否默认的端口被占用?查看此时端口使用情况:
(base) hadoop@ubuntu:~/zeppelin/bin$ lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 10914 hadoop 237u IPv6 59582 0t0 TCP *:http-alt (LISTEN)
可以看到,果然有进程占用 zeppelin默认端口。现在我们尝试关掉该进程:
(base) hadoop@ubuntu:~/zeppelin/bin$ lsof -i:8080
现在重新启动 ./zeppelin-daemon.sh start
,在去浏览器界面查看:
上图中,笔者已经将默认端口改为 9090 了,这个待成功跑通后可以自行修改。下面给出修改方法,及参考文档:
自定义访问端口
进入conf目录下,复制zeppelin-site.xml.template模板文件为zeppelin-site.xml,使用vim命令修改以下配置。将 <value>8080</value>
改为你要设定的端口。
<property>
<name>zeppelin.server.addr</name>
<value>0.0.0.0</value>
<description>Server address</description>
</property>
<property>
<name>zeppelin.server.port</name>
<value>8080</value>
<description>Server port.</description>
</property>
此外,我们还可以启动Zeppelin的用户认证。
启动Zeppelin的用户认证
Zeppelin默认运行匿名用户访问,即没有用户权限要求,如要实现用户权限限制,则需修改zeppelin-site.xml和shiro配置文件。
修改zeppelin-site.xml配置文件,将以下配置项中的true改成false
<property>
<name>zeppelin.anonymous.allowed</name>
<value>false</value>
<description>Anonymous user allowed by default</description>
</property>
复制conf目录下的shiro.ini.template 为 shiro.ini , 将shiro.ini 的[user]块中的内容修改为以下内容:
[users]
#admin = admin, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
注意:等号前面为用户名,等号后面为密码
笔者此前还在windows环境下部署过 Zeppelin
。曾遇到过在命令行中输入启动命令 zeppelin.cmd
没反应,这里也贴出参考文档
谈风月之余谈技术,欢迎关注我的微信公众号