安装和配置Sentry(收录)
安装和配置Sentry
本文主要记录安装和配置Sentry的过程,关于Sentry的介绍,请参考 Apache Sentry架构介绍 。
1. 环境说明
系统环境:
- 操作系统:CentOs 6.6
- Hadoop版本: CDH5.4
- 运行用户:root
这里,我参考 使用yum安装CDH Hadoop集群 一文搭建了一个测试集群,并选择cdh1节点来安装sentry服务。
2. 安装
在cdh1节点上运行下面命令查看Sentry的相关组件有哪些:
$ yum list sentry*
sentry.noarch                        1.4.0+cdh5.4.0+155-1.cdh5.4.0.p0.47.el6                            @cdh
sentry-hdfs-plugin.noarch        1.4.0+cdh5.4.0+155-1.cdh5.4.0.p0.47.el6                            @cdh
sentry-store.noarch                1.4.0+cdh5.4.0+155-1.cdh5.4.0.p0.47.el6                            @cdh
以上组件说明:
- sentry:sentry的基本包
- sentry-hdfs-plugin:hdfs插件
- sentry-store:sentry store组件
这里安装以上所有组件:
$ yum install sentry* -y
3. 配置
参考 sentry-site.xml.service.template ,来修改Sentry的配置文件 /etc/sentry/conf/sentry-site.xml。
配置 sentry service 相关的参数
  <property>
    <name>sentry.service.admin.group</name>
    <value>impala,hive,solr,hue</value>
  </property>
  <property>
    <name>sentry.service.allow.connect</name>
    <value>impala,hive,solr,hue</value>
  </property>
  <property>
    <name>sentry.verify.schema.version</name>
    <value>false</value>
  </property>
  <property>
    <name>sentry.service.reporting</name>
    <value>JMX</value>
  </property>
  <property>
    <name>sentry.service.server.rpc-address</name>
    <value>cdh1</value>
  </property>
  <property>
    <name>sentry.service.server.rpc-port</name>
    <value>8038</value>
  </property>
  <property>
    <name>sentry.service.web.enable</name>
    <value>true</value>
  </property>
如果需要使用kerberos认证,则还需要配置以下参数:
    <property>
  <name>sentry.service.security.mode</name>
  <value>kerberos</value>
    </property>
    <property>
       <name>sentry.service.server.principal</name>
  <value></value>
    </property>
    <property>
  <name>sentry.service.server.keytab</name>
  <value></value>
    </property>
配置 sentry store 相关参数
sentry store可以使用两种方式,如果使用基于SimpleDbProviderBackend的方式,则需要设置jdbc相关的参数:
  <property>
    <name>sentry.store.jdbc.url</name>
    <value>jdbc:postgresql://cdh1/sentry</value>
  </property>
  <property>
    <name>sentry.store.jdbc.driver</name>
    <value>org.postgresql.Driver</value>
  </property>
  <property>
    <name>sentry.store.jdbc.user</name>
    <value>sentry</value>
  </property>
  <property>
    <name>sentry.store.jdbc.password</name>
    <value>redhat</value>
  </property>
Sentry store的组映射 sentry.store.group.mapping 有些两种配置方式:org.apache.sentry.provider.common.HadoopGroupMappingService 或者 org.apache.sentry.provider.file.LocalGroupMapping ,当使用后者的时候,还需要配置 sentry.store.group.mapping.resource 参数,即设置Policy file的路径。
    <property>
  <name>sentry.store.group.mapping</name>
  <value>org.apache.sentry.provider.common.HadoopGroupMappingService</value>
    </property>
    <property>
  <name>sentry.store.group.mapping.resource</name>
  <value> </value>
  <description> Policy file for group mapping. Policy file path for local group mapping, when sentry.store.group.mapping is set to LocalGroupMapping Service class.</description>
  </property>
配置客户端的参数:
配置Sentry和hive集成时的服务名称,默认值为 HS2 ,这里设置为server1:
    <property>
        <name>sentry.hive.server</name>
        <value>server1</value>
    </property>
初始化数据库
如果配置 sentry store 使用 posrgres 数据库,当然你也可以使用其他的数据库,则需要创建并初始化数据库。数据库的创建过程,请参考 Hadoop自动化安装shell脚本 ,下面列出关键脚本。
yum install postgresql-server postgresql-jdbc -y
ln -s /usr/share/java/postgresql-jdbc.jar /usr/lib/hive/lib/postgresql-jdbc.jar
ln -s /usr/share/java/postgresql-jdbc.jar /usr/lib/sentry/lib/postgresql-jdbc.jar
su -c "cd ; /usr/bin/pg_ctl start -w -m fast -D /var/lib/pgsql/data" postgres
su -c "cd ; /usr/bin/psql --command \"create user sentry with password 'redhat'; \" " postgres
su -c "cd ; /usr/bin/psql --command \"drop database sentry;\" " postgres
su -c "cd ; /usr/bin/psql --command \"CREATE DATABASE sentry owner=sentry;\" " postgres
su -c "cd ; /usr/bin/psql --command \"GRANT ALL privileges ON DATABASE sentry TO sentry;\" " postgres
su -c "cd ; /usr/bin/pg_ctl restart -w -m fast -D /var/lib/pgsql/data" postgres
然后,修改 /var/lib/pgsql/data/pg_hba.conf 内容如下:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
#host    all         all         0.0.0.0/0             trust
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
#host    all         all         ::1/128               nd5
如果是第一次安装,则初始化 sentry 的元数据库:
$ sentry --command schema-tool --conffile /etc/sentry/conf/sentry-site.xml --dbType postgres --initSchema
Sentry store connection URL:     jdbc:postgresql://cdh1/sentry
Sentry store Connection Driver :     org.postgresql.Driver
Sentry store connection User:    sentry
Starting sentry store schema initialization to 1.4.0-cdh5-2
Initialization script sentry-postgres-1.4.0-cdh5-2.sql
Connecting to jdbc:postgresql://cdh1/sentry
Connected to: PostgreSQL (version 8.4.18)
Driver: PostgreSQL Native Driver (version PostgreSQL 9.0 JDBC4 (build 801))
Transaction isolation: TRANSACTION_REPEATABLE_READ
Autocommit status: true
1 row affected (0.002 seconds)
No rows affected (0.004 seconds)
Closing: 0: jdbc:postgresql://cdh1/sentry
Initialization script completed
Sentry schemaTool completed
如果是更新,则执行:
$ sentry --command schema-tool --conffile /etc/sentry/conf/sentry-site.xml --dbType postgres --upgradeSchema
4. 启动
在cdh1上启动sentry-store服务:
$ /etc/init.d/sentry-store start
查看日志:
$ cat /var/log/sentry/sentry-store.out
查看sentry的web监控界面: http://cdh1:51000/
安装和配置Sentry(收录)的更多相关文章
- 安装配置sentry服务
		环境 系统环境:Centos6.7 Hadoop版本:CDH5.10 jdk版本:jdk7 注:本文并未集成kerberos组件 安装Sentry Server 选择安装hive的节点进行安装测试: ... 
- Sentry的安装、配置、使用
		前言 上一篇文章介绍了ExceptionLess这个日志收集系统:ExceptionLess的安装.配置.使用 由于ExceptionLess官方提供的客户端只有.Net/.NetCore平台和js的 ... 
- OpenStack云计算快速入门之二:OpenStack安装与配置
		原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ... 
- Linux 系统下原版 texlive 2016 的安装与配置
		尽管大部分常见的linux系统的包管理器内都会包含texlive,然而最好还是安装TUG发布的原版texlive.这是由于:1,软件仓库内的texlive通常版本较陈旧:2,由于版权因素一些tex宏包 ... 
- OpenStack安装与配置2
		第二部分 OpenStack安装与配置 一.引言 本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1.Server2和Client1,之后的各章也是如此.Server ... 
- github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)
		详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ... 
- python笔记1-基础概念、python安装使用配置
		Python 1.基础概念 一.什么是python? python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不 ... 
- 2.4、CDH 搭建Hadoop在安装(Cloudera Software安装和配置MySQL)
		为Cloudera Software安装和配置MySQL 要使用MySQL数据库,请按照以下过程操作.有关MySQL数据库兼容版本的信息,请参阅CDH和Cloudera Manager支持的数据库. ... 
- 第二部分 OpenStack安装与配置
		第二部分 OpenStack安装与配置 一.引言 本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1.Server2和Client1,之后的各章也是如此.Server ... 
随机推荐
- 长大Tips的第一步
			任务进度:登陆界面的初步设计. 运行环境:windows10 编译环境:netbeans 编写语言:java 界面展示: 任务简介: 本次任务指示简单的完成了界面设计,登陆按钮暂未实现,持续更新中,敬 ... 
- CentOS 6.4安装谷歌浏览器(chromium)不是chrome
			原文转载于http://www.wypblog.com/archives/782 今天给大家介绍如何在CentOS 6.4平台上面安装chromium浏览器,和Google的Chrome也类似,虽然不 ... 
- note03-计算机网络
			3. 网络层 网络层的主要协议有IP.ICMP.IGMP.ARP等: IP地址分类:ABCDE ,根据32比特位的IP中网络号所占位数进行决定IP的类型 A:0 0000000 网络号| 000000 ... 
- 【[ZJOI2008]骑士】
			这道题好暴力啊 发现自己刚学\(OI\)的时候对着这道题写了一个大搜索 发现已经看不懂了 果然我现在菜到连一年半前的我都不如了 这其实是一个基环树\(dp\)啦,基环树上的最大点独立集 其实很简单,我 ... 
- 实验吧之损坏的U盘
			1.首先用binwalk查看里面的内容,发现里面有Zip文件. 要想把Zip文件弄出来有两种方法: 一是用虚拟机里面的foremost+文件名 然而,在终端中已经见到二零password文件夹,然而我 ... 
- POJ3737 UmBasketella
			嘟嘟嘟 一道三分入门题. 参考二分,三分就是每一次把区间分成三段,然后舍弃一段,不断缩小范围直到一个点. 一般用于求单峰函数的最值问题. 这道题发现V和r成一次函数的关系,因此三分r. 下面给出三分板 ... 
- 百度提供的LBS服务
			并不是所有 LBS 云服务 都可以使用 js Ajax 访问,涉及跨域问题 (Jsonp 方式解决)Jsonp 解决跨域问题原理,在页面生成<script> 加载远程 js 代码片段.在L ... 
- Spring 声明式事务管理方式
			声明式事务管理,基于AOP对目标代理,添加环绕通知,比编码方案优势,不具有侵入式,不需要修改原来的代码. 1.基于XML配置的声明式事务管理方案(案例) 接口Service public i ... 
- 如何为WebStorm设置SASS的File Watchers?
			Webstorm是一个很牛叉的IDE,现在工作每天都是用它了. 最近开始用SASS,LESS等来写CSS,而在Webstorm中,它自带一个File Watchers功能,设置一下,即可实时编译SAS ... 
- 【Linux-CentOS】在无互联网-内网环境的Windows7主机上安装CentOS双系统,从安装到放弃
			2018.12.3 日更新:本文仅作为无互联网环境下安装的参考.更推荐在互联网环境下安装软件和使用系统,毕竟会自动安装依赖包,比较方便. 因个人办公电脑装的盗版Win7总是蓝屏,影响工作,加之看到 W ... 
