您好,登錄后才能下訂單哦!
這篇文章主要介紹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.cdh6.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>
即可
以上是“CDH5.14如何集成ranger0.5.3”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。