前言

本节讲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]

9.Hive Metastore Administration的更多相关文章

  1. 【原创】大叔经验分享(24)hive metastore的几种部署方式

    hive及其他组件(比如spark.impala等)都会依赖hive metastore,依赖的配置文件位于hive-site.xml hive metastore重要配置 hive.metastor ...

  2. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  3. Hive metastore三种配置方式

    http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...

  4. Hadoop之Hive(2)--配置Hive Metastore

    Hive metastore服务以关系性数据库的方式存储Hive tables和partitions的metadata,并且提供给客户端访问这些数据的metastore service的API.下面介 ...

  5. Hive Metastore 代码简析

    1.  hive metastore 内部结构 1.1 包结构 从package结构来看,主要的5个package,让我们来看看这几个package的内容 (1) metastorepackage是m ...

  6. hive metastore异常 org.apache.thrift.protocol.TProtocolException: Missing version in readMessageBegin, old client

    hiveserver2的端口是10000hive.metastoe.uris 的端口9083改为10000之后 beelien 连接hiveserver2报错 Error: Could not ope ...

  7. Hive Metastore ObjectStore PersistenceManager自动关闭bug解析

    最近在测试HCatalog,由于Hcatalog本身就是一个独立JAR包,虽然它也可以运行service,但是其实这个service就是metastore thrift server,我们在写基于Hc ...

  8. hive metastore Server 出现异常

    报错信息: 常见问题分析: 1 hive metastore 数据库中用户名或者密码出现更改,并且重启了hive,导致生效但是CDH下没有及时更改hive metastore设置密码 2 Mysql ...

  9. Hive metastore整体代码分析及详解

    从上一篇对Hive metastore表结构的简要分析中,我再根据数据设计的实体对象,再进行整个代码结构的总结.那么我们先打开metadata的目录,其目录结构: 可以看到,整个hivemeta的目录 ...

随机推荐

  1. Metapackage包

    Metapackage(功能包集)是把一些相近的功能模块. 软件包放到一起. ROS里常见的Metapacakge有: 2.Metapackage写法 CMakeLists.txt 写法如下: cma ...

  2. relu6激活函数

    relu6 = min(max(features, 0), 6) This is useful in making the networks ready for fixed-point inferen ...

  3. Angular动态表单生成(八)

    动态表单生成之拖拽生成表单(下) 我们的动态表单,最终要实现的效果与Form.io的在线生成表单的效果类似,可以参考它的demo地址:https://codepen.io/travist/full/x ...

  4. HashTable、HashSet和Dictionary的区别(转载)

    1.HashTable哈希表(HashTable)表示键/值对的集合.在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类 ...

  5. Nginx-------Nginx的安装和多域名配置

    Nginx安装 centos6.x yum默认没有nginx的软件包 安装方式: 到nginx下载页面http://nginx.org/en/linux_packages.html#stable,复制 ...

  6. d3 js emberjs handlerbarjs

    http://handlebarsjs.com/ http://emberjs.com/ http://jsbin.com/d3ember-barchart/13/edit?html,output

  7. JavaWeb基础—CSS学习小结

    重点记忆:四种结合方式 三种基本选择器 1.CSS:层叠样式表 相当于皮肤 提高了可维护性.样式与内容分离(注释格式/* */) 2.CSS与HTML结合的四种方式:内联式.嵌入式.外部式  1.每个 ...

  8. ARM汇编关键知识点总结(转)

    1.LDR R1, =COUNT 意思是将 COUNT 变量的地址放到 R1中LDR R1, COUNT 意思是将 COUNT 变量地址里面的内容赋给 R1 2. Load-Store 结构——这个应 ...

  9. Eclipse获取资源路径

    一.问题: 这几天做一个单机版的数据抓取项目,之前都加载了spring或者是maven 使用[this.getClass().getClassLoader().getResource("ma ...

  10. python之GIL(Global Interpreter Lock)

    一 介绍 ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple nati ...