Ranger-Kafka插件安裝


Ranger-Kafka插件安裝,
使用Ranger0.7.0版本,集成Kafka插件到Kafka集群,
Kafka Plugin需要安裝到所有的Kafka的集群節點上面。

1.登陸Kafka的安裝用戶

2.下載插件包

scp pub@10.43.156.193:/home/pub/ranger/ranger-0.7.0/target/ranger-0.7.0-SNAPSHOT-kafka-plugin.tar.gz .

3.解壓插件包

tar -zxvf ranger-0.7.0-SNAPSHOT-kafka-plugin.tar.gz

4.修改install.properties參數如下:

COMPONENT_INSTALL_DIR_NAME=/home/kafka/kafka_2.10-0.10.1.0
POLICY_MGR_URL=http://zdh-245:6080
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
REPOSITORY_NAME=kafkadev
CUSTOM_USER=kafka
CUSTOM_GROUP=hadoop

5.在kafka的server.properties文件最下面添加如下內容

authorizer.class.name=org.apache.ranger.authorization.kafka.authorizer.RangerKafkaAuthorizer

6.添加config目錄到kafka用戶的CLASSPATH中

由於kafka啟動時只指定了server.properties,否則會讀取不到其他配置文件
在.profile增加如下配置:

export CLASSPATH=/home/kafka/kafka_2.10-0.10.1.0/config
source .profile

 

7.使用root用戶執行安裝腳本

./enable-kafka-plugin.sh

 

8.創建服務service

在RangerAdminServer里面Kafka標簽下面創建名稱為kafkadev的service,
service里面的Zookeeper Connect String填寫zookeeper集群的IP:Port,例如:
zdh-237:2181,zdh-238:2181,zdh-239:2181

9.查看Kafka插件

在RangerAdminServer的Audit的Plugin頁面里面可以看到Kafka插件,
插件kafka@zdh-237-kafkadev對應kafkadev的服務。

10.將ranger-0.7.0-SNAPSHOT-kafka-plugin拷貝到其他集群

並且重復上面的5,6,7步驟。

11.驗證ranger的權限控制

在ranger-admin的users頁面新建一個內部用戶ANONYMOUS。
關閉all-topic策略
新建newTopic237only策略,配置ANONYMOUS用戶(或者內部public組)對newTopic的所有權限,ip為10.43.159.237或者*
創建一個topic:

kafka-topics.sh --create --topic newTopic --replication-factor 3 --partitions 1 --zookeeper zdh-237:2181


開啟生產者:

kafka-console-producer.sh --broker-list zdh-237:9092 --sync --topic newTopic


開啟消費者:

kafka-console-consumer.sh --zookeeper zdh-237:2181 --topic newTopic --from-beginning


上述操作在10.43.159.237執行成功,在其他IP則執行失敗。
由於執行kafka-console-producer.sh時,沒有配置鑒權,使用的用戶是ANONYMOUS(匿名用戶),
會導致RangerKafkaAuthorizerd對其鑒權失敗,客戶端返回錯誤碼ClusterAuthorizationFailedCode=31。

12.其他

kafka非安全模式對Ranger的策略配置要求說明:
https://community.hortonworks.com/articles/12699/ranger-and-kafka-integration-faq.html
https://cwiki.apache.org/confluence/display/RANGER/Kafka+Plugin

修改kafka的config目錄下zookeeper.properties文件修改內容如下
dataDir=/home/garrison/zookeeper-3.5.1-alpha/tmp

通過log4j.properties開啟ranger kafka插件的審計日志
log4j.logger.org.apache.ranger=DEBUG, authorizerAppender





免責聲明!

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



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