centos6.5中部署Zeppelin并配置账号密码验证
centos6.5中部署Zeppelin并配置账号密码验证
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.验证是否可以通过刚才配置的账号密码登录
最后,你可以使用刚才配置的用户名/密码组合进行登录: