9.Hive Metastore Administration

前言

本节讲metastore相关的知识.
hive所有的元数据都是通过matestore管理的.hive cli/hiveserver2包含了内置的metastore.

metastore参数

metastore的基本参数

K V 说明
javax.jdo.option.ConnectionURL jdbc连接字符串
javax.jdo.option.ConnectionDriverName jdbc驱动类名 当使用mysql时:com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName 数据库连接用户名
javax.jdo.option.ConnectionPassword 数据库连接密码

metastore的额外参数

Configuration Parameter Description Default Value
org.jpox.autoCreateSchema 如果hive启动时没有相应的元数据Schecma,则创建相关的库表等,安装之后装该参数设置为false.只在初始化时使用.一般不用这个功能都手动创建hive元数据
datanucleus.autoStartMechanism Whether to initialize on startup.
hive.metastore.server.min.threads Thrift server's pool最小连接数 200
hive.metastore.server.max.threads Thrift server's pool最大连接数 100000 since Hive 0.8.1
hive.metastore.filter.hook Metastore hook class for further filtering the metadata read results on client side.(Hive 1.1.0 and later.) org.apache.hadoop.hive.metastore.DefaultMetaStoreFilterHookImpl
hive.metastore.port Hive metastore listener port.(Hive 1.3.0 and later.) 9083

客户端参数

一切要使用metastore服务的客户端| K|V|说明|

K V 说明
hive.metastore.uris metastore服务器地址,用于客户端连接 可以配置多个
hive.metastore.warehouse.dir hive仓库在hdfs上的位置.这个应该不需要配置的

mestastore是没有状态的,因此可以启动多个metastore作为ha. client默认会选择hive.metastore.uris中的第一个,但第一个连接不上的话,则随机从列表中选一个.

使用zk自动发现mestastore

从hive4.0.0开始可以像hiveserver2一样通过zookeeper自动发现metastore实现ha.

Config Param Config Value Comment
hive.metastore.service.discovery.mode 默认不配置,可以是zookeeper 当设置为zookeeper时,metastore在启动实现会在zk中注册自己,在关闭时从zk取注销. server和client配置要相同
hive.metastore.uris zookeepr_host_name:port, host_name:port, ... 上面为zookeeper时,zookeepr集群地址.server和client配置要相同
hive.metastore.zookeeper.client.port port 上面要是设置了port这个就可以忽略.zookeeper服务器端口.server和client配置要相同
hive.metastore.zookeeper.namespace namespace name zookeeper中metastore的根目录
hive.metastore.zookeeper.session.timeout 单位毫秒 ZooKeeper client's session timeout. 心跳超过这个时间客户端与zk的连接断开
hive.metastore.zookeeper.connection.timeout 单位秒 ZooKeeper client's connection timeout in seconds. Connection timeout * hive.metastore.zookeeper.connection.max.retries with exponential backoff is when curator client deems connection is lost to zookeeper.
hive.metastore.zookeeper.connection.max.retries 连接zk的重试次数
hive.metastore.zookeeper.connection.basesleeptime 单位毫秒 Initial amount of time (in milliseconds) to wait between retries when connecting to the ZooKeeper server when using ExponentialBackoffRetry policy.

启动hive metastore服务

hive --service metastore [-p 9083]




原文地址:https://www.cnblogs.com/skyrim/p/10315237.html