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.shstart 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的賬號密碼)
[[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並配置賬號密碼驗證