配置安全的Impala集群集成Sentry
生活随笔
收集整理的這篇文章主要介紹了
配置安全的Impala集群集成Sentry
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文主要記錄配置安全的Impala集群集成Sentry的過程。Impala集群上配置了Kerberos認證,并且需要提前配置好Hive與Kerberos和Sentry的集成:
- 使用yum安裝CDH Hadoop集群
- Hive配置kerberos認證
- Impala配置kerberos認證
- 配置安全的Hive集群集成Sentry
1. 環境說明
系統環境:
- 操作系統:CentOs 6.6
- Hadoop版本:CDH5.4
- JDK版本:1.7.0_71
- 運行用戶:root
集群各節點角色規劃為:
192.168.56.121 cdh1 NameNode、ResourceManager、HBase、Hive metastore、Impala Catalog、Impala statestore、Sentry 192.168.56.122 cdh2 DataNode、NodeManager、HBase、Hiveserver2、Impala Server 192.168.56.123 cdh3 DataNode、HBase、NodeManager、Hiveserver2、Impala Server2. 修改Impala配置
修改 /etc/default/impala 文件中的?IMPALA_SERVER_ARGS?參數,添加:
-server_name=server1 -sentry_config=/etc/hive/conf/sentry-site.xml在?IMPALA_CATALOG_ARGS?中添加:
-sentry_config=/etc/hive/conf/sentry-site.xml/etc/hive/conf/sentry-site.xml 內容如下:
<?xml version="1.0" encoding="UTF-8"?> <configuration><property><name>sentry.service.client.server.rpc-port</name><value>8038</value></property><property><name>sentry.service.client.server.rpc-address</name><value>cdh1</value></property><property><name>sentry.service.client.server.rpc-connection-timeout</name><value>200000</value></property><property><name>sentry.provider</name><value>org.apache.sentry.provider.file.HadoopGroupResourceAuthorizationProvider</value></property><property><name>sentry.hive.provider.backend</name><value>org.apache.sentry.provider.db.SimpleDBProviderBackend</value></property><property><name>sentry.metastore.service.users</name><value>hive</value><!--queries made by hive user (beeline) skip meta store check--></property><property><name>sentry.hive.server</name><value>server1</value></property><property><name>sentry.hive.testing.mode</name><value>true</value></property> </configuration>3. 重啟Impala服務
在cdh1節點
4. 測試
5. 其他說明
如果要使用基于文件存儲的方式配置Sentry store,則需要修改 /etc/default/impala 文件中的?IMPALA_SERVER_ARGS?參數,添加:
-server_name=server1 -authorization_policy_file=/user/hive/sentry/sentry-provider.ini -authorization_policy_provider_class=org.apache.sentry.provider.file.LocalGroupResourceAuthorizationProvider創建 sentry-provider.ini 文件并將其上傳到 hdfs 的 /user/hive/sentry/ 目錄:
$ cat /tmp/sentry-provider.ini [databases] # Defines the location of the per DB policy file for the customers DB/schema #db1 = hdfs://cdh1:8020/user/hive/sentry/db1.ini[groups] admin = any_operation hive = any_operation test = select_filtered[roles] any_operation = server=server1->db=*->table=*->action=* select_filtered = server=server1->db=filtered->table=*->action=SELECT select_us = server=server1->db=filtered->table=events_usonly->action=SELECT[users] test = test hive= hive$ hdfs dfs -rm -r /user/hive/sentry/sentry-provider.ini $ hdfs dfs -put /tmp/sentry-provider.ini /user/hive/sentry/ $ hdfs dfs -chown hive:hive /user/hive/sentry/sentry-provider.ini $ hdfs dfs -chmod 640 /user/hive/sentry/sentry-provider.ini注意:server1 必須和 sentry-provider.ini 文件中的保持一致。
總結
以上是生活随笔為你收集整理的配置安全的Impala集群集成Sentry的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手把手玩转协同编辑(1):AST (Ad
- 下一篇: Android之TextView文字绘制