zoukankan      html  css  js  c++  java
  • 【原创】大叔经验分享(24)hive metastore的几种部署方式

    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

  • 相关阅读:
    shell 基础进阶 *金字塔
    shell,awk两种方法写9*9乘法表
    shell脚本判断一个用户是否登录成功
    shell 冒泡算法 解决数组排序问题
    shell 石头剪刀布
    应用shell (ssh)远程链接主机
    nmcli命令使用
    光盘yum源autofs按需挂载
    LVM扩容,删除
    LVM创建
  • 原文地址:https://www.cnblogs.com/barneywill/p/10300238.html
Copyright © 2011-2022 走看看