hive2.1.1 Metastore配置kerberos认证
时间: 2023-11-22 19:55:00 浏览: 180
要在Hive2.1.1中启用Kerberos认证,需要进行以下步骤:
1. 配置Kerberos客户端
- 安装Kerberos客户端并配置krb5.conf文件。
- 为Hive服务和Metastore服务创建Kerberos principal(principal是Kerberos中的用户或服务)。
2. 配置Hadoop
- 在core-site.xml中添加以下属性:
```
<property>
<name>hadoop.security.authentication</name>
<value>kerberos</value>
</property>
```
- 在hdfs-site.xml中添加以下属性(如果HDFS启用了Kerberos认证):
```
<property>
<name>dfs.namenode.kerberos.principal</name>
<value>hdfs/_HOST@EXAMPLE.COM</value>
</property>
<property>
<name>dfs.datanode.kerberos.principal</name>
<value>hdfs/_HOST@EXAMPLE.COM</value>
</property>
```
- 在yarn-site.xml中添加以下属性(如果YARN启用了Kerberos认证):
```
<property>
<name>yarn.resourcemanager.principal</name>
<value>yarn/_HOST@EXAMPLE.COM</value>
</property>
<property>
<name>yarn.nodemanager.principal</name>
<value>yarn/_HOST@EXAMPLE.COM</value>
</property>
```
3. 配置Hive Metastore
- 在hive-site.xml中添加以下属性:
```
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepassword</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>hive.metastore.sasl.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.kerberos.keytab.file</name>
<value>/path/to/metastore.keytab</value>
</property>
<property>
<name>hive.metastore.kerberos.principal</name>
<value>metastore/_HOST@EXAMPLE.COM</value>
</property>
```
其中,hive.metastore.kerberos.keytab.file和hive.metastore.kerberos.principal分别指定Metastore服务的Kerberos keytab文件和principal。
4. 配置HiveServer2
- 在hive-site.xml中添加以下属性:
```
<property>
<name>hive.server2.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hive.server2.authentication.kerberos.keytab</name>
<value>/path/to/hive.keytab</value>
</property>
<property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>hive/_HOST@EXAMPLE.COM</value>
</property>
```
其中,hive.server2.authentication.kerberos.keytab和hive.server2.authentication.kerberos.principal分别指定HiveServer2服务的Kerberos keytab文件和principal。
完成以上步骤后,启动Hive Metastore和HiveServer2服务,并使用Kerberos principal登录。
阅读全文