hive 配置metastore三种方式

hive outline

链接

hive 配置metastore三种方式

内嵌模式

在这里插入图片描述
内嵌模式是hive metastore的默认部署模式。此种模式下,元数据存储在内置的Derby数据库,并且Derby数据库和metastore服务都嵌入在主hiveserver2进程中,即当启动hiveserver2进程时,Derby和metastore服务都会启动。缺点是一次只能支持一个客户端连接

想要支持多客户端连接,需要选择以下2种方式

本地模式

在这里插入图片描述

  1. hive metastore服务随主hiveserver2而启动,并且运行在同一进程当中但是存储元数据的数据库在单独的进程中运行,并且可以在单独的主机上,metastore服务将通过JDBC与元数据库进行通信
  2. 存储元数据的数据库推荐使用MySQL
  3. hive根据hive.metastore.uris 参数值来判断,如果为空,则为本地模式
  4. 缺点是每启动一次hiveserver2,都会启动一个metastore服务

实战链接

远程模式

在这里插入图片描述

  1. 远程模式下,Metastore服务在其自己的单独JVM上运行不随hiveserver2启动而启动,需要单独手动启动metastore服务。如果其他进程希望与Metastore服务进行通信,就需要使用Thrift Network API进行通信
  2. 在生产环境中,建议用远程模式来配置Hive Metastore。在这种情况下,其他依赖hive的软件都可以通过Metastore访问hive。由于还可以完全屏蔽数据库层,因此这也带来了更好的可管理性/安全性
  3. 远程模式下,需要配置hive.metastore.uris 参数来指定metastore服务运行的机器ip和端口
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在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 MetastoreHiveServer2服务,并使用Kerberos principal登录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值