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

CentOS 6.5中部署Zeppelin並配置賬號密碼驗證

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,輸出如下:

這說明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.驗證是否可以通過剛才配置的賬號密碼登入
最後,你可以使用剛才配置的使用者名稱/密碼組合進行登入: