1. 程式人生 > >centos6.5中部署Zeppelin並配置賬號密碼驗證

centos6.5中部署Zeppelin並配置賬號密碼驗證

oop nbsp 開啟 art 變量 jdk 1.7 技術 apache 使用

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 doesnt exist, create /data/hadoop/zeppelin/zeppelin-0.7.2-bin-all/logs Pid dir doesnt 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的賬號密碼)

[[email protected] 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.驗證是否可以通過剛才配置的賬號密碼登錄
最後,你可以使用剛才配置的用戶名/密碼組合進行登錄:

技術分享

centos6.5中部署Zeppelin並配置賬號密碼驗證