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

hive metastore重要配置

hive.metastore.warehouse.dir
hive2及之前版本默认为/user/hive/warehouse/,创建数据库或表时会在该目录下创建对应的目录

javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUserName
javax.jdo.option.ConnectionPassword
默认为derby

hive.metastore.uris
默认为空

hive metastore部署方式

1 全部默认配置

使用的是内置的derby库,hdfs目录为/user/hive/warehouse/

2 只配置javax.jdo.option.*相关配置

使用配置的数据库(比如mysql),hdfs目录为/user/hive/warehouse/

3 只配置hive.metastore.uris

所有元数据操作都通过远程metastore交互(注意此时需要启动一个独立的hive metastore进程),hdfs目录为/user/hive/warehouse/

ps:注意1和2不需要任何的hive进程,但3种方式都需要依赖hdfs

总结

综上,在只需要使用impala或spark而不需要hive的时候,其实只需要一个远程数据库(比如mysql)即可,不需要单独启动hive metastore进程;

如何初始化一个hive元数据库?

$ ls $HIVE_HOME/scripts/metastore/upgrade
derby mssql mysql oracle postgres

在hive目录下有各种数据库各个版本的初始化脚本,比如impala依赖hive1.2,只需要安装hive1.2的元数据库即可,对应的sql文件为:

$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql

其中会依赖

$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-txn-schema-0.13.0.mysql.sql

初始化完成之后直接在/etc/impala/conf/hive-site.xml中配置javax.jdo.option.*指向mysql库即可;

impala的最小安装为:hdfs + mysql(hive元数据库) + impala

spark的最小安装为:hdfs + mysql(hive元数据库) + spark

参考:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

【原创】大叔经验分享(24)hive metastore的几种部署方式的更多相关文章

  1. 【原创】经验分享:一个小小emoji尽然牵扯出来这么多东西?

    前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? [原创]经验分享:一个Content-Length引发的血案(almost.. ...

  2. hive命令的三种执行方式

    hive命令的3种调用方式 方式1:hive –f  /root/shell/hive-script.sql(适合多语句) hive-script.sql类似于script一样,直接写查询命令就行 不 ...

  3. 【原创】大叔经验分享(29)cdh5使用已存在的metastore数据库部署hive

    cdh5.16.1使用的hive版本是hive-1.1.0+cdh5.16.1+1431,详见:https://www.cloudera.com/documentation/enterprise/re ...

  4. 【原创】大叔经验分享(65)spark读取不到hive表

    spark 2.4.3 spark读取hive表,步骤: 1)hive-site.xml hive-site.xml放到$SPARK_HOME/conf下 2)enableHiveSupport Sp ...

  5. 【原创】大叔经验分享(31)CM金丝雀Canary报错

    CM金丝雀Canary报错 1 HDFS 金丝雀Canary 测试无法为 /tmp/.cloudera_health_monitoring_canary_files 创建父目录. 2 Hive Met ...

  6. 【原创】大叔经验分享(7)创建hive表时格式如何选择

    常用格式 textfile 需要定义分隔符,占用空间大,读写效率最低,非常容易发生冲突(分隔符)的一种格式,基本上只有需要导入数据的时候才会使用,比如导入csv文件: ROW FORMAT DELIM ...

  7. 【原创】大叔经验分享(26)hive通过外部表读写elasticsearch数据

    hive通过外部表读写elasticsearch数据,和读写hbase数据差不多,差别是需要下载elasticsearch-hadoop-hive-6.6.2.jar,然后使用其中的EsStorage ...

  8. 【原创】大叔经验分享(25)hive通过外部表读写hbase数据

    在hive中创建外部表: CREATE EXTERNAL TABLE hive_hbase_table(key string, name string,desc string) STORED BY ' ...

  9. 【原创】大叔经验分享(2)为什么hive在大表上加条件后执行limit很慢

    问题重现 select id from big_table where name = 'sdlkfjalksdjfla' limit 100; 首先看执行计划: hive> explain se ...

随机推荐

  1. SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统

    一.简介 OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 ...

  2. 安装inotify-tools监控工具

    安装inotify-tools监控工具 yum install -y inotify-tools 2:查看inotify-tools包的工具程序 [root@dns3 ~]# rpm -ql inot ...

  3. CodeForces Round #553 Div2

    A. Maxim and Biology 代码: #include <bits/stdc++.h> using namespace std; int N; string s; int mi ...

  4. Unit 4.css的导入方式和选择器

    一.什么是css CSS是指层叠样式表(Cascading Style Sheets),样式定义如何显示HTML元素,样式通常又会存在于样式表中.也就是说把HTML元素的样式都统一收集起来写在一个地方 ...

  5. 【算法】—— LRU算法

    LRU原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”. 实现1 最常见的 ...

  6. 图像压缩编解码实验(DCT编码+量化+熵编码(哈夫曼编码))【MATLAB】

    课程要求 Assignment IV Transform + Quantization + Entropy Coding Input: an intra-frame or a residue pict ...

  7. Servlet的 GenericServlet 和 HttpServlet

    一.GenericServlet? servlet 是一个接口 下面有两个抽象类 GenericServlet 和 HttpServlet 需要被 继承并重写其中的方法. package javawe ...

  8. Spring MVC 使用介绍(十)—— 编码

    一.概述 客户端与服务器端在交互过程中,需要将字符以某种编码方式转化为字节流进行传输,因此涉及字符的编码和解码.某一方以编码方案A编码,另一方须以同样的编码方案解码,否则会出现乱码. 客户端与服务器端 ...

  9. 【Spring】手写Spring MVC

    Spring MVC原理 Spring的MVC框架主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成. 完整的Spring MVC处理 流程如下: Sprin ...

  10. nginx 返回数据被截断

    nignx 代理 buffer proxy_buffers 16 512k; proxy_buffer_size 512k;   fastcgi buffer fastcgi_buffers 4 64 ...