ranger0.5.4-開源安裝配置


---恢復內容開始---

一.Ranger編譯

安裝Ranger之前要進行編譯,首先下載源代碼:

命令步驟:

git clone https://github.com/apache/incubator-ranger.git

cd incubator-ranger

git checkout ranger-0.5

mvn clean compile package assembly:assembly install

 

 

Target編譯構建的包如下:

 

 

 

注:這里ranger服務的相關服務和組件基本全部在了。公司網絡編譯大概需要4-5個小時。

 

二.Range-Admin(控制台)安裝

Ranger在solr里存儲日志,RangerAdmin UI依賴solr組件完成審計日志的查詢,所以需要先安裝和配置好Solr。

注:目前(HDFS-Plugin)的測試日志審計時沒選擇Solr方式,但還是先配置好Standalone模式的solr.

SolrCloud安裝配置

cd /root/incubator-ranger/security-admin/contrib/solr_for_audit_setup

#打開install.properties文件,修改參數的值如下所示:

vi install.properties

JAVA_HOME=/root/jdk1.7.0_67

SOLR_INSTALL=true

SOLR_DOWNLOAD_URL=http://archive.apache.org/dist/lucene/solr/5.2.1/solr-5.2.1.tgz

SOLR_INSTALL_FOLDER=/opt/solr

SOLR_RANGER_HOME=/opt/solr/ranger_audit_server

SOLR_DEPLOYMENT=standalone

SOLR_RANGER_DATA_FOLDER=/opt/solr/ranger_audit_server/data

SOLR_LOG_FOLDER=/var/log/solr/ranger_audits

SOLR_MAX_MEM=2g

#安裝單節點的solr

./ setup.sh

#按照如下安裝提示啟動、停止solr服務

cat/opt/solr/ranger_audit_server/install_notes.txt

#啟動solr

/opt/solr/ranger_audit_server/scripts/start_solr.sh

#驗證solr服務是否可正常使用

lsof –i:6083

node1:6083

 

安裝RangerAdmin

命令步驟:

tar –zxvf ranger-0.5.0-admin.tar.gz

cd ranger-0.5.0-admin

vim install.properties

修改的參數如下:

setup_mode=SeparateDB

db_root_user=root

db_root_password=root23

db_host=localhost

db_name=ranger

db_user=root

db_password=root123

 

audit_store=db

audit_db_name=ranger_audit

audit_db_user=root

audit_db_password=root123

 

注:上面的db為提前安裝好的mysql數據庫,庫不需要提前建好,ranger-admin程序會根據該配置文件自動連接並建庫/表。

Mysql版本親測5.6版本可用,5.1,5.2等版本ranger報錯。其他版本還沒測試,建議直接安裝5.6版本。

 

配置文件修改完畢保存退出后:

初始化設置Ranger Admin:執行./setup.sh

執行完成后查看mysql:

 

 

 

運行完畢后,自動建立的庫/表。

 

啟動Ranger Admin:ranger-admin start

驗證是否安裝成功:訪問http://:6080;用admin/admin登錄,出現登錄界面,登錄成功,說明成功!

 

 

 

 

 

三.安裝Ranger Usersync插件

同步linux系統用戶到ranger數據庫,需要安裝Ranger Usersync。安裝步驟如下:

tar –zxvf ranger-0.5.4-SNAPSHOT-usersync.tar.gz

cd ranger-0.5.4-SNAPSHOT-usersync

vim install.properties

打開配置文件做如下配置:

 

 

POLICY_MGR_URL=http://node1:6080

 

SYNC_SOURCE=unix

 

SYNC_INTERVAL=1

 

logdir= /opt/ranger-usersync/ranger-0.5.4-SNAPSHOT-usersync/logs

 

注:logdir 文件夾需要自己創建,不然初始化會報錯。

 

初始化設置Ranger Usersync:執行./setup.sh

啟動Ranger Usersync:./ranger-usersync-services.sh start

驗證是否安裝成功:在Ranger控制台可以看到users中同步的用戶信息。

 

 

 

四:ranger-0.5.0-hdfs-plugin 組件安裝

tar -zxvf ranger-0.5.4-SNAPSHOT-hdfs-plugin.tar.gz

cd ranger-0.5.4-SNAPSHOT-hdfs-plugin/

vim install.properties

打開配置文件做如下配置:

POLICY_MGR_URL=http://localhost:6080

REPOSITORY_NAME=hadoopdev

XAAUDIT.DB.IS_ENABLED=true

XAAUDIT.DB.FLAVOUR=MYSQL

XAAUDIT.DB.HOSTNAME=localhost

XAAUDIT.DB.DATABASE_NAME=ranger_audit

XAAUDIT.DB.USER_NAME=root

XAAUDIT.DB.PASSWORD=root123

 

需要把Hadoop的配置文件conf放到/opt/ranger-hdfs-plugin/hadoop/conf/下面,執行軟連接命令:

Ln -s  /opt/hadoop/hadoop-2.7.0/etc/hadoop/*   /opt/ranger-hdfs-plugin/hadoop/conf/

 

 

 

需要將HDFS Plugin內的jar和HADOOP包含的HDFSjar都指向/usr/local/hadoop/lib,執行如下命令:

cp /opt/ranger-hdfs-plugin/ranger-0.5.4-SNAPSHOT-hdfs-plugin/lib/ranger-hdfs-plugin-impl/*.jar  /opt/hadoop/hadoop-2.7.0/share/hadoop/hdfs/lib/

 

 

 

 

 

 

Ln -s  /opt/hadoop/hadoop-2.7.0/share/hadoop/hdfs/lib/*.jar   /opt/ranger-hdfs-plugin/hadoop/lib/

注:/opt/ranger-hdfs-plugin/hadoop/lib需手動創建,如果不做此步會報錯如下:

ERROR: Unable to find the lib directory of component [hadoop];  dir [/opt/ranger-hdfs-plugin/hadoop/lib] not found.

Exiting installation.

 

修改hdfs掩碼:

<property>

<name>fs.permissions.umask-mode</name>

<value>077</value>

</property>

 

按此方法設置另外一個namenode節點。

 

到此准備工作完成:

啟動插件:./enable-hdfs-plugin.sh

 

 

 

插件顯示啟動成功,從新啟動hadoop使ranger-hdfs插件生效。

驗證是否安裝成功:

a、          登錄ranger admin

 

 

可以看到新建的用戶組和用戶已經自動同步到ranger-admin

b、          點擊HDFS plugin 添加按鈕,添加服務

驗證HDFS Plugin服務,這時登錄Ranger的管理員界面驗證下HDFS plugin是夠加載成功,發現並沒有.

原因是安裝HDFS plugin時install.properties文件里定義的REPOSITORY_NAME(值為hadoopdev)並未通過Ranger Admin在HDFS插件里的服務管理里注冊成服務(名hadoopdev).

解決方案:

1 登錄Ranger Adming

2 點擊HDFS plugin的添加按鈕

 

 

 

3 定義服務名為hadoopdev,提交其它信息后保存

 

 

 

 

 

dfs.nameservices   ky

dfs.ha.namenodes.ky    nn1,nn2

dfs.namenode.rpc-address.ky.nn1  node1:9000

dfs.namenode.rpc-address.ky.nn2   node2:9000

dfs.client.failover.proxy.provider.ky   org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

注:此處是個大坑,網上的資料的都是namenode單節點的,直接在Namenode URL *一欄填寫nanode節點就可以,我們是HA模式,所以我們這里應該按照我寫的這樣做,填寫集群namespace,然后在高級設置(Add New Configurations)添加上HA相關信息。

點擊 Test Connection,彈出窗口Connected Successfully.說明插件安裝成功

c、          配置hdfs-policy

linux環境下添加用戶:useradd test

root用戶在hdfs下創建文件夾:hdfsdfs –mkdir /test

                                                hdfs dfs –mkdir /test/sub

登錄Ranger Admin,在hadoopdev里添加Policy

 

 

policy:目錄/test 對用戶xhhtest只設置讀權限

切換到test用戶,執行:hdfs dfs –ls  /test

讀取到test下的sub文件夾,讀取成功。

Vim my.txt 創建一個新的測試文件。

執行:hdfs dfs –put my.txt /test

put: Permission denied: user=test, access=EXECUTE, inode="/test/my.txt":root:supergroup:drwx------

權限不足,put操作失敗。

修改policy,對目錄/test添加write權限給用戶test。

 

 

執行:hdfs dfs -put my.txt /xhhtest,執行成功。

 

 

文件已上傳成功。

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM