配置安全的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 Server

2. 修改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 文件中的保持一致。

时间: 2024-08-30 22:33:41

配置安全的Impala集群集成Sentry的相关文章

配置安全的Hive集群集成Sentry

本文主要记录配置安全的Hive集群集成Sentry的过程.Hive上配置了Kerberos认证,配置的过程请参考: 使用yum安装CDH Hadoop集群 Hive配置kerberos认证 1. 环境说明 系统环境: 操作系统:CentOs 6.6 Hadoop版本:CDH5.4 JDK版本:1.7.0_71 运行用户:root 集群各节点角色规划为: 192.168.56.121 cdh1 NameNode.ResourceManager.HBase.Hive metastore.Impala

Cassandra分布式数据库详解,第1部分:配置、启动与集群

Cassandra 的配置详解 了解一个软件的配置项的意义是使用这个软件的前提,这里详细介绍 Cassandra 的配置文件(storage-config.xml)中各个配置项的意义,这其中包含有很多配置参数,我们可以对其进行调整以达到理想的性能.为了节省篇幅这里没有列出 storage-config.xml 文件的内容,你可以对照着这个文件看下面的内容. ClusterName Cluster Name 代表一个族的标识,它通常代表一个集群.这个配置项在 Cassandra 没有存储数据时就必

配置-关于hadoop2.6集群的搭建问题!急求跪谢!

问题描述 关于hadoop2.6集群的搭建问题!急求跪谢! 两台虚拟机ip205和208,205既是master也是slave,208是slave.按照官方文档要求配置.出现结果是205可以访问hdfs页面,也可以找到205的slave节点,而找不到208的slave节点,查看208的日志如下 跪求解答

配置高可用 mongodb 集群教程

在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制. 高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病. 高性能,Nosql通过简单的key-value方式获取数据,非常快速.还有NoSQL的Cache是记录级的,是一种细粒度的Cache,

Heartbeat_2.0.3配置MySQL5.0.18集群

测试环境为:rehdat linux 9.0 hostname eth0 eth1 mysql5 192.168.0.50/24 10.4.66.35/24 mysql6 192.168.0.60/24 10.4.66.36/24 heartbeat interface eth0, with crosscab service ip 10.4.66.88/24, by eth1, default gateway 10.4.66.2 共享存储采用NAS服务器,数据访问地址为10.4.66.251:/

测试Hive集成Sentry

本文在安装和配置Sentry基础之上测试Hive集成Sentry.注意:这里Hive中并没有配置Kerberos认证. 关于配置了Kerberos的Hive集群如何集成Sentry,请参考配置安全的Hive集群集成Sentry. 1. 配置Sentry 见安装和配置Sentry. 2. 配置Hive Hive Metastore集成Sentry 需要在 /etc/hive/conf/hive-site.xml中添加: <property> <name>hive.metastore.

如何正确配置基于Informix数据库的WPS v6.12集群应用系统

引言 基于SOA并且实现各种业界标准的WebSphere Process Server(以下称为WPS),主要用于实现人.工作流.应用程序.系统.平台和体系结构的业务流程自动化.当前越来越多的企业用户选择基于WPS搭建集成的业务系统,如金融,通信等.它们要求系统的高吞吐量和高可用性.在实际的规划和实施中,采用集群的配置和部署是通用且有效的方式.本文章主要阐述在Unix 环境(AIX,Solaris或者HP-UX)下,如何安装WPS v6.1.2 产品和基于Informix v9.4 数据库配置集

《Storm实时数据处理》一1.5 创建Storm集群——配置机器

1.5 创建Storm集群--配置机器 本地模式下测试集群对调试和验证集群的基本功能逻辑很有帮助.但是,这并不代表你就能够了解集群在实际环境中运行的状况.此外,只有当系统已经在产品环境中运行时,开发工作才算真正完成.任何开发者都应该重视这一点,并且这也是整个DevOps实践的基础.无论采用什么方法,你都必须能够将代码可靠地部署到产品环境中.本节将展示如何直接通过版本控制创建和配置一个完整的集群.在此之前,需要事先说明一些有关创建和配置集群的基本原则: 我们需要时刻了解服务器的会话状态.在没有严格

在ubuntu9.0上配置MySQL集群详细教程

家在网上都能找到都是RedHat系统等等,对Ubuntu系统MySQL集群就没有介绍文章,我现在写写Ubuntu这个MySQL集群方法.新手不要骂我,呵呵. 介绍网络环境: 测试环境: Server1: ndbd 192.168.245.11 Server2: ndbd 192.168.245.12 Server3: mysqld –ndb-cluster 192.168.245.13 ndbd: 数据库节点. mysqld –ndb-cluster: MySQL服务器节点,程序直接访问的是这台