【大数据之Hive】六、Hive之metastore服务部署

这篇具有很好参考价值的文章主要介绍了【大数据之Hive】六、Hive之metastore服务部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  metastore为Hive CLI或Hiveserver2提供元数据访问接口。

1 metastore运行模式

  metastore运行模式有两种,嵌入式模式和独立服务模式。

(1)嵌入式模式

  将metastore看作一个依赖嵌入到Hiveserver2和每一个HiveCLI客户端进程,使得Hiveserver2和HiveCLI客户端直接连接访问数据库。
metastore服务,hive,hive,大数据,hadoop
(2)独立服务模式

  把metastore服务独立出来单独启动,Hiveserver2和Hive命令行客户端都访问metastore服务,然后再由metastore访问元数据库。

  Metastore不负责存储元数据,只负责提供访问元数据的接口。
metastore服务,hive,hive,大数据,hadoop
  生产环境中,不推荐使用嵌入式模式。因为其存在以下两个问题:
  (i)嵌入式模式下,每个Hive CLI都需要直接连接元数据库,当Hive CLI较多时,数据库压力会比较大。
  (ii)每个客户端都需要用户元数据库的读写权限,元数据库的安全得不到很好的保证。

2 metastore部署

(1)嵌入式部署
  嵌入式模式下,只需保证Hiveserver2和每个Hive CLI的配置文件hive-site.xml中包含连接元数据库所需要的以下参数即可:

<!-- jdbc连接的URL-->
   <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
   </property>
   
   <!-- jdbc连接的Driver-->
   <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>com.mysql.cj.jdbc.Driver</value>
   </property>
   
   <!--jdbc连接的username-->
   <property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>root</value>
   </property>

    <!-- jdbc连接的password-->
   <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>123456</value>
   </property>

(2)独立服务模式
  需求:Metastore服务部署到hadoop102机器上,客户端部署在hadoop103、hadoop104上。

(i)在hadoop102把hive发送到hadoop103和hadoop104上:

scp -r /opt/module/hive/ hadoop103:/opt/module/
scp -r /opt/module/hive/ hadoop104:/opt/module/ 

  在hadoop102上把/etc/profilr.d/my_env.sh分发,再分别在hadoop103和hadoop104source一下环境:

cd /etc/profile.d
xsync my_env.sh


hadoop103和hadoop104下:
source /etc/profile.d/my_env.sh

(ii)保证metastore服务的配置文件hive-site.xml中包含连接元数据库所需的以下参数,在hadoop102下的HIVE_HOME/conf的hive.site.xml配置:

    <!-- jdbc连接的URL-->
   <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
   </property>
   
   <!-- jdbc连接的Driver-->
   <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>com.mysql.cj.jdbc.Driver</value>
   </property>
   
   <!--jdbc连接的username-->
   <property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>root</value>
   </property>

    <!-- jdbc连接的password-->
   <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>123456</value>
   </property>
(iii)在hadoop102中启动metastore服务:
nohup hive –-service metastore &

用jps -ml查看进程:
metastore服务,hive,hive,大数据,hadoop
(iv)配置hive客户端:
  保证Hiveserver2和每个Hive CLI的配置文件hive-site.xml中包含访问metastore服务所需的参数。

  在hadoop103和104下的HIVE_HOME/conf/的hive-site.xml中删除与jdbs有关的配置。

  如果不删除直接添加的话进入到hive客户端执行语句会报错:不能初始化metastore客户端:

hive (default)> show databases;
FAILED: HiveException java.lang.RuntimeException:Unable to instantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

  这是因为在Hive CLI(客户端)的配置文件中配置了hive.metastore.uris参数,此时Hive CLI会去请求执行的metastore服务地址,所以必须启动metastore服务才能正常使用。

  也即给同一个节点同时配置metastore服务和客户端时,客户端是访问metastore服务的。

  hadoop103和hadoop104的hive-site.xml中添加:

<!-- 指定metastore服务的地址,只要在客户端中配了metastore地址就会访问metastore服务地址 -->
<property>
   <name>hive.metastore.uris</name>
   <value>thrift://hadoop102:9083</value>
</property>

  主机名改为metastore服务所在节点,metastore服务的默认端口为9083。

(v)在hadoop103进入到hive的客户端:

cd HIVE_HOME
bin/hive

hive>show tables;
hive>select * from stu;

可以看到能查出数据,即客户端表示能够访问metastore服务。
metastore服务,hive,hive,大数据,hadoop文章来源地址https://www.toymoban.com/news/detail-776574.html

到了这里,关于【大数据之Hive】六、Hive之metastore服务部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据Hadoop之——部署hadoop+hive+Mysql环境(window11)

    目录 一、安装JDK8 1)JDK下载地址 2)设置环境变量 二、Hadoop安装(window10环境) 1)下载Hadoop3.1.3 2)Hadoop配置环境变量 3)在hadoop解压目录下创建相关目录 4)修改Hadoop配置文件 1、core-site.xml文件:添加以下配置 2、hdfs-site.xml文件:添加以下配置,路径改成自己的安装路径 3、

    2024年02月08日
    浏览(44)
  • Hadoop3.0大数据处理学习1(Haddop介绍、部署、Hive部署)

    学习步骤: 三大组件的基本理论和实际操作 Hadoop3的使用,实际开发流程 结合具体问题,提供排查思路 开发技术栈: Linux基础操作、Sehll脚本基础 JavaSE、Idea操作 MySQL Hadoop是一个适合海量数据存储与计算的平台。是基于Google的GoogleFS、Map Reduce、BigTable实现的。 移动数据:数据

    2024年02月08日
    浏览(47)
  • Hive Metastore 表结构

    Hive MetaStore 的ER 图如下。 部分表结构和说明。 CTLGS(CATALOGS) catalogs 可以隔离元数据。默认只有1行。一个 CATALOG 可以有多个数据库。 记录示例 DBS(数据库表) 每个数据库一条记录。 记录示例 TBLS(表记录) 表结构 记录示例 PARTITION_KEYS(表的分区字段) PARTITIONS(分区信息) 记录示例 可

    2024年02月13日
    浏览(94)
  • 常见的bug---3、没有启动metaStore和Hiveserver2服务导致在本机上的IDEA无法连接上虚拟机上的HIve

    在IEDA连接虚拟机上的Hive报的 Exception in thread “main” org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:11

    2024年02月15日
    浏览(48)
  • 【运维】hive 高可用详解: Hive MetaStore HA、hive server HA原理详解;hive高可用实现

    Hive元数据存储在MetaStore中,包括表的定义、分区、表的属性等信息。 hive metastore 配置多台,可以避免单节点故障导致整个集群的hive client不可用。 原理如下: Active-active mode is not supported for Hive Metastore. Hence, there is one active instance of the Hive Metastore service at any given point in time.

    2024年02月02日
    浏览(41)
  • hive 架构及 metastore 功能简单介绍

    这两天在调研用 java 怎么能通过 hive metastore 将 hive 表中的数据读出来(不能用 hive2),最好是能直接支持 sql 查询。各种查跟尝试,最终确定这条路走不通。期间研究了下 hive 的内部架构,其实就是看了一遍官方文档。记录下怕忘了。 hive 中主要有两个组件 hive server2 和 hiv

    2024年02月11日
    浏览(41)
  • Hive的Metastore三种配置方式

    metastore 是 Hive 元数据的集中存放地。metastore 元数据存储主要体现在两个方面:服务和后台数据的存储。元数据包含用 Hive 创建的 database、table 等的元信息。元数据存储在关系型数据库中。如 Derby、MySQL 等。 客户端连接 metastore 服务,metastore 再去连接 MySQL 数据库来存取元数据

    2024年02月09日
    浏览(41)
  • 【Hadoop】-Hive部署[12]

    目录 思考 VMware虚拟机部署 规划 步骤1:安装MySQL数据库 步骤2:配置Hadoop 步骤3:下载解压Hive 步骤4:提供MySQL Driver包 步骤5:配置Hive 步骤6:初始化元数据库 步骤7:启动Hive(使用hadoop用户) 部署Hive的主要流程: Hive是分布式运行的框架还是单机运行的? Hive是单机工具,只

    2024年04月27日
    浏览(27)
  • hadoop搭建、mysql、hive部署

    一、 HDFS安装搭建 1.1 关闭虚拟机防火墙 在之后的学习、操作中,经常会遇到在宿主机中通过程序去访问虚拟机中的相关软件,但是默认情况下,虚拟机的防火墙是不允许访问,这是需要开启一个一个的端口号,比较麻烦,所以在教学过程中,为了提高教学、学习的效率,直

    2024年02月08日
    浏览(42)
  • MySQL到TiDB:Hive Metastore横向扩展之路

    作者:vivo 互联网大数据团队 - Wang Zhiwen 本文介绍了vivo在大数据元数据服务横向扩展道路上的探索历程,由实际面临的问题出发,对当前主流的横向扩展方案进行了调研及对比测试,通过多方面对比数据择优选择TiDB方案。其次分享了整个扩展方案流程、实施遇到的问题及解决

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包