CDH5.14集成ranger0.5.3步驟

CDH5.14的hive版本是1.1.0,經過1周的嘗試,開始選擇了ranger最新版本1.2.0,最後jdbc連接時因爲hive-jdbc版本和hive版本不匹配報錯,所以選擇ranger0.5.3版本做了集成測試,過程中還是出現了一些問題,感覺hontonworks和cloudera之間不太兼容啊。。。暫時還不是很完美,不過最終算是完成了。
首先安裝ranger-admin。
1.cd /home/ranger
下載ranger的tar包:
wget https://archive.apache.org/dist/incubator/ranger/0.5.3-incubating/apache-ranger-incubating-0.5.3.tar.gz
解壓tar包:
2.tar -xzvf apache-ranger-incubating-0.5.3.tar.gz
然後 進入解壓後的目錄:
3./home/ranger/apache-ranger-incubating-0.5.3.tar.gz
編譯整個項目,時間比較久,建議nohup掛在後臺:
4.nohup mvn clean compile package assembly:assembly install -DskipTests=true -Drat.skip=true -Dmaven.test.skip=true > maven.log &
編譯之前先解決一個問題,否則編譯通不過:
1.python版本,要python2.7纔可以,用2.6或者3都會出現問題,

編譯完了之後進入目錄
/home/ranger/apache-ranger-1.2.0/target
我們需要的文件都構建好了

我們先把ranger-admin安裝先,cp到/usr/local
cp /home/ranger/apache-ranger-incubating-0.5.3/target/ranger-0.5.3-admin.tar.gz /usr/local

解壓:
tar -xzvf /usr/local/ranger-0.5.3-admin.tar.gz
進入/usr/local/ranger-0.5.3-admin
修改下install.properties中的配置項,然後
使用root用戶執行
bash /usr/local/ranger-0.5.3-admin/setup.sh
就安裝好了
然後執行ranger-admin start 即可啓動ranger-admin;
瀏覽器http://hostname:6080如下登錄界面,admin/admin 即可登錄
用戶名:admin
密碼:admin

這裏着重寫一下ranger-hive-plugin的配置和安裝。
ranger源碼編譯完成之後,在ranger目錄下有hive插件的包:
/home/ranger/apache-ranger-incubating-0.5.3/target/ranger-0.5.3-hive-plugin.tar.gz

把這個包cp到hiveserver的節點上,放在hive安裝目錄同級的路徑下,比如我們用的cdh,一般hive安裝目錄在/opt/cloudera/parcels/CDH/lib/hive/,所以我們把ranger-hive-plugin放在/opt/cloudera/parcels/CDH/lib這個目錄下,之所以這麼做,是因爲
等下ranger-hive-plugin集成到hive裏面會默認去它的相對路徑找依賴jar包,放在這裏直接就可以找到,不用像網上說的那樣還要去建軟連接。
之後修改/opt/cloudera/parcels/CDH/lib/ranger-0.5.3-hive-plugin/install.properties
中配置信息,改完之後運行enable-hive-plugin.sh腳本,在重啓hiveserver2,ranger的配置即可生效,不過從cdh中啓動hiveserver2是不會生效的,因爲它不會去讀取hive安裝路徑下的config目錄,而是會動態生成一個config目錄,只能手動去啓動
命令是 hive --service hiveserver2
後面看看能不能解決這個問題

進入ranger admin的,添加hive規則,測試jdbc連通性會報錯,因爲我們下的ranger版本自帶的是hive1.2.0的版本,hive-jdbc的版本我我們使用的hive版本不同,所以我們要把admin下相關jar包更換掉,

/usr/local/ranger-0.5.3-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive這個目錄下,hive1.2有關的包全部換成我們使用的版本,相關的包都可以在cdh安裝路徑下可以找到(/opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/hive/lib/)

之後就可以正常使用了,用beeline客戶端測試ranger使用正常,不過用hue的時候會報錯,錯誤信息顯示:java.lang.IllegalArgumentException:Cannot modify hive.server2.proxy.user at runtime.,大概是hive查詢的代理用戶沒有權限去查詢,所以需要把一些系統用戶加入到hive的白名單中,

在hive-site.xml中添加:
<property>
<name>hive.security.authorization.sqlstd.confwhitelist.append</name>
<value>mapred.|hive.|mapreduce.|spark.</value>
</property>
<property>
<name>hive.security.authorization.sqlstd.confwhitelist</name>
<value>mapred.|hive.|mapreduce.|spark.</value>
</property>

即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章