共计 2545 个字符,预计需要花费 7 分钟才能阅读完成。
1. 安装 Java
Zeppelin 支持的操作系统如下图所示。在安装 Zeppelin 之前,你需要在部署的服务器上安装 Oracle JDK 1.7 或以上版本, 并配置好相应的 JAVA_HOME 环境变量。
以 CentOS 为例,具体操作过程如下:
a)下载并安装 jdk-8u111-linux-x64.rpm
# rpm -ivh jdk-8u111-linux-x64.rpm
b)配置环境变量。在 /etc/profile 文件结尾添加:
export JAVA_HOME=/usr/java/jdk1.8.0_111
export PATH=${JAVA_HOME}/bin:$PATH
c)使环境变量生效
source /etc/profile
2. 获取 Zeppelin
下载地址:http://zeppelin.apache.org/download.html
选择二进制安装包,这里以 zeppelin-0.7.2-bin-all.tgz 为例。
3. 安装 Zeppelin
安装 Zeppelin 只需如下命令解压二进制安装包即可:
# tar zxvf zeppelin-0.7.2-bin-all.tgz
启动 Zeppelin:
# cd /data/zeppelin-0.7.2-bin-all
(Zeppelin 的安装目录)
第一次启动 Zeppelin,输出如下:
# bin/zeppelin-daemon.sh start
Log dir doesn’t exist, create /data/Hadoop/zeppelin/zeppelin-0.7.2-bin-all/logs
Pid dir doesn’t exist, create /data/hadoop/zeppelin/zeppelin-0.7.2-bin-all/run
Zeppelin start [OK]
这说明 Zeppelin 已经部署成功。
4. 验证能否正常登陆
Zeppelin 默认启动在 8080 端口,在浏览器中访问 Zeppelin 主页,访问地址是: http://your_host_ip:8080/, 你将看到类似如下的页面。
我们在浏览器中输入 http://localhost:8080/ 进入 Zeppelin 的主页,不需要用任何的验证就可以进入主页面:
换句话说,任何人在浏览器输入上面地址(本机),都可以访问 Zeppelin 里的所有内容. 在上图中我们也可以看到我们的登陆用户是 anonymous.
5. 修改登陆 zeeplin 验证方式
禁止匿名访问
Zeppelin 启动默认是匿名(anonymous)模式登录的.如果设置访问登录权限,需要设置 conf/zeppelin-site.xml 文件下的 zeppelin.anonymous.allowed 选项为 false(默认为 true).如果你还没有这个文件,只需将 conf/zeppelin-site.xml.template 复制为 conf/zeppelin-site.xml。
# cd /data/hadoop/zeppelin/zeppelin-0.7.2-bin-all/conf
# cp zeppelin-site.xml.template zeppelin-site.xml
<property>
<name>zeppelin.anonymous.allowed</name>
<value>false</value>
<description>Anonymous user allowed by default</description>
</property>
将 zeppelin.anonymous.allowed 设置为 false,表示不允许匿名访问.
a)开启 Shiro
在刚安装完毕之后,默认情况下,在 conf 中,将找到 shiro.ini.template,该文件是一个配置示例,建议你通过执行如下命令行创建 shiro.ini 文件:
cp conf/shiro.ini.template conf/shiro.ini
配置 shiro.ini(即访问 zeppelin 的账号密码)
[root@u04rdp01 conf]# cat shiro.ini
[users]
#admin = password1, admin
#user1 = password2, role1, role2
#user2 = password3, role3
#user3 = password4, role2
hadoop = hadoop, admin # 用户名、密码都是 hadoop,角色为 admin
[main]
“CN=admin,OU=groups,DC=SOME_GROUP,DC=COMPANY,DC=COM”:”admin”,”CN=finance,OU=groups,DC=SOME_GROUP,DC=COMPANY,DC=COM”:”finance”,”CN=hr,OU=groups,DC=SOME_GROUP,DC=COMPANY,DC=COM”:”hr”
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
securityManager.sessionManager = $sessionManager
securityManager.sessionManager.globalSessionTimeout = 86400000
shiro.loginUrl = /api/login
[roles]
role1 = *
role2 = *
role3 = *
admin = *
[urls]
/api/version = anon
#/api/interpreter/** = authc, roles[admin]
#/api/configurations/** = authc, roles[admin]
#/api/credential/** = authc, roles[admin]
#/** = anon
/** = authc
b)重新启动 Zeppelin
bin/zeppelin-daemon.sh restart
Zeppelin stop [OK]
Zeppelin start [OK]
启动成功之后,可以访问 http://ip:8080
8. 验证是否可以通过刚才配置的账号密码登录
最后,你可以使用刚才配置的用户名 / 密码组合进行登录: