環境
- 系統環境:Centos6.7
- Hadoop版本:CDH5.10
- jdk版本:jdk7
- 注:本文並未集成kerberos組件
安裝Sentry Server
選擇安裝hive的節點進行安裝測試:
yum install sentry* -y
以下三個組件會進行安裝
sentry:sentry的基本包
sentry-hdfs-plugin:hdfs插件
sentry-store:sentry store組件
配置
配置sentry service相關參數
<property>
<name>sentry.service.server.rpc-address</name>
<value>HOSTNAME</value>
</property>
<property>
<name>sentry.service.server.rpc-port</name>
<value>8038</value>
</property>
<property>
<name>sentry.service.admin.group</name>
<value>hive,impala,hue,hdfs</value>
</property>
<property>
<name>sentry.service.allow.connect</name>
<value>hive,impala,hue,hdfs</value>
</property>
<property>
<name>sentry.store.group.mapping</name>
<value>org.apache.sentry.provider.common.HadoopGroupMappingService</value>
</property>
<property>
<name>sentry.service.reporting</name>
<value>JMX</value>
</property>
<property>
<name>sentry.service.web.enable</name>
<value>true</value>
</property>
<property>
<name>sentry.service.web.port</name>
<value>51000</value>
</property>
<property>
<name>sentry.service.web.authentication.type</name>
<value>NONE</value>
</property>
<property>
<name>sentry.verify.schema.version</name>
<value>true</value>
</property>
由於未配置kerberos,添加以下配置
<property>
<name>sentry.service.security.mode</name>
<value>none</value>
</property>
配置 sentry store 相關參數
sentry store可以使用兩種方式,如果使用database-backed 的方式(還有一種policy files方式),則需要設置jdbc相關的參數,本文默認為這種方式:
<property>
<name>sentry.store.jdbc.url</name>
<value>jdbc:<JDBC connection URL for backend database></value>
</property>
<property>
<name>sentry.store.jdbc.driver</name>
<value><JDBC Driver class for backend database></value>
</property>
<property>
<name>sentry.store.jdbc.user</name>
<value><User ID for backend database user></value>
</property>
<property>
<name>sentry.store.jdbc.password</name>
<value><Password for backend database user></value>
</property>
創建sentry database
這里使用mysql數據庫作為sentry store。進入mysql數據庫后創建步驟如下:
Create Database sentry;
Create User sentry Identified By 'sentry';
Grant All On sentry.* To sentry@'localhost' Identified By 'sentry';
Grant All On sentry.* To sentry@'%' Identified By 'sentry';
flush privileges;
安裝mysql-connector-java
yum install mysql-connector-java
cp /usr/share/java/mysql-connector-java.jar /usr/lib/sentry/lib/
初始化sentry database
sentry --command schema-tool --conffile /etc/sentry/conf/sentry-site.xml --dbType mysql --initSchema
顯示以下信息表面連接並初始化成功
......
Initialization script completed
Sentry schemaTool completed
啟動服務
/etc/init.d/sentry-store start
查看sentry的web界面http://hostname:51000/。