1. 程式人生 > >ranger0.5.4-開源安裝配置

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,執行成功。

 

 

檔案已上傳成功。

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