热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hive中MetaServer与HiveServer2的应用

在hive中有metaServer与hiveServer2两种服务,看了好多文章说这两个的区别,文章内容有对有错,不够全面,

在hive中有metaServer与hiveServer2两种服务,看了好多文章说这两个的区别,文章内容有对有错,不够全面,故在这里好好总结一下。

首先,下面这个hive构架图,我们一定不陌生,它反应出hive有哪些组件结构

当然下面的图是hadoop1的部分,现在JobTracker是Yarn了
上面的部分是访问Hive的三个入口,

1:直接Cli
2: 通过JDBC
3: webUI

当我们要连接Hive进行操作时,首先必须是安装了,安装hive很简单,直接在conf/hive-site配置存放Hive元数据的连接信息,通常是用mysql,如下:

javax.jdo.option.ConnectionURLjdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserNameroot

javax.jdo.option.ConnectionPasswordroot

这样配置好后,在hive的lib里加入Mysql JDBC 驱动后,我们就可以通过 bin/hive的方式进行hive客户端,请求数据。如下图:

这样在大多数公司,特别是小公司小集群里基本是这样操作的,当然我们公司也是这样的,这样本身没有错误.
但我们看一下上面的配置,这样是不是把连接数据库的信息全泄露了,你可能会说,大家都是同公司的大数据部分,还有各种权限,泄露也无所谓,但我们想一下,在一个大的公司里,大数据平台是几个部门共用的,这样会有多台hive cli连接mysql,这样泄露mysql的信息的风险还是挺大的.
另一方面,比如我们元数据Mysql库无法启动,我们要替换从库时,或者我们要移植元数据到另一台机器上时,那么我们这么多的hive cli是不是全要修改一遍....

那么这时我们Hive的另一个组件出场了,它就是MetaStoreServer

启动:nohup $HIVE_HOME/bin/hive –metastore &

如图,我们在Hive cli与mysql中间是不是启动一个MetaStoreServer,
这样我们的Hive cli就不需要连接Mysql,直接连接这个MetaStoreServer不就行了吗,
在hive-site.xml只要简单的配置一下:

hive.metastore.uristhrift://xxxxxx:9083<description

这样我就通过metaserver取得了元数据的信息对吧
当然上面的图只是一个MetaStoreServer&#xff0c;存在单点问题&#xff0c;但我们完全可以配置两个或者多个MetaStoreServer&#xff0c;就实现了负载均衡与容错的功能了&#xff0c;如下面的配置

hive.metastore.uristhrift://dw1:9083,thrift://dw2:9083A comma separated list of metastore uris on which metastore service is running

接下来我们就要谈谈另一个有用的组件HiveServer2了


转:https://www.cnblogs.com/itboys/p/10621564.html



推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 先看一段错误日志:###Errorqueryingdatabase.Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransie ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
author-avatar
0Hey0ne
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有