HMS数据库设置和优化

简介:Hive Metastore (HMS) 是一种服务,用于在后端 RDBMS(例如 MySQL 或 PostgreSQL)中存储与 Apache Hive 和其他服务相关的元数据。本文主要分享HMS数据库设置和优化

设置 Metastore 数据库

如果您有本地集群,则需要知道如何为 Hive Metastore (HMS) 设置后端数据库。设置包括安装受支持的数据库、配置属性、指定 Metastore 位置。您还可以配置可选的连接参数。

您需要为 Hive Metastore (HMS) 安装支持的数据库来存储元数据。您可以通过修改hive-site.xml. 您可以使用 Cloudera Manager 安全阀功能而不是hive set key=value在命令行上。

设置后端 Hive Metastore 数据库

CDP公有云后端Hive Metastore数据库仅支持PostgreSQL,一般无需手动安装。在CDP Private Cloud Base 中,您需要安装、启动和配置后端数据库。

在此过程中,您将在与 HiveServer 不同的节点/集群上安装数据库,以便与 Hive、Impala、Spark 和其他组件共享 Hive 元存储 (HMS)。不要将 HiveServer 和数据库放在同一个节点上。您的集群中可以有一个或多个 HMS 实例,它们可以在出现问题时接管。

安装受支持的数据库。

  • MariaDB/MySQL
  • PostgreSQL
  • Oracle

配置 Metastore 数据库属性

在CDP Private Cloud Base 中,您可以通过使用 Cloudera Manager 安全阀功能间接修改hive-site.xml来配置 Hive 和 Hive 元存储。一个循序渐进的过程向您展示了如何设置一些属性名称和值来代替hive set key=value在命令行上使用,这是不受支持的。

此任务假定数据库正在运行myhost,用户帐户是hiveuser,密码是mypassword。根据您的数据库类型替换以下连接 URL 和驱动程序名称。

  • MySQL 连接URL:jdbc:mysql://myhost/metastore

MySQL 驱动程序名称:com.mysql.jdbc.Driver

  • Postgres 连接URL:jdbc:postgresql://myhost/metastore

Postgres 驱动程序名称:jdbc:postgresql://myhost/metastore

  • Oracle 连接 URL:jdbc:oracle:thin:@//myhost/xe

Oracle 驱动程序名称:oracle.jdbc.OracleDriver

  • 以下组件正在运行:
  • HiveServer
  • Hive Metastore
  • Metastore 的数据库,例如默认的 MySQL 服务器
  • Hive 客户端
  • 最低要求角色:配置者(也由集群管理员、完全管理员提供)
  1. 通过导航到Cloudera Manager > Hosts > Role(s)并查看角色列表以查找Hive Metastore  Server的完全限定域名或 IP 地址。

     2.  在Clusters > Hive Metastore > Configuration 中导航到 Metastore 主机配置,然后搜索 javax.jdo.option.ConnectionURL.

     3.  在值中,使用以下语法指定数据库连接字符串: <connection protocol>://<metastore host>/<metastore database>?createDatabaseIfNotExist=true

在以 XML 格式查看中,将出现 XML 配置片段。

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://10.65.13.98/mydb?createDatabaseIfNotExist=true</value>
<description>Database connection string</description>
</property>
  1. 或者,在集群中的所有主机上重复前面的步骤。
  2. 以相同的方式,在 Metastore 主机(必需)或所有主机(可选)上指定其他必需的连接属性,如下例所示。
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>(your driver name)</value>
</property><property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property><property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mypassword</value>
</property><property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property><property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property><property>
<name>datanucleus.autoStartMechanism</name>
<value>SchemaTable</value>
</property><property>
<name>hive.metastore.schema.verification</name>
<value>true</value>
</property>

配置 Metastore 位置和 HTTP 模式

除了需要在CDP Private Cloud Base 中设置的数据库属性之外,还必须配置 Metastore URI 属性。该属性定义了一个或多个 Metastore 位置。

  • 最低要求角色:配置者(也由集群管理员、完全管理员提供)
  1. 在Clusters > Hive Metastore > Configuration 中,搜索hive-site.xml
  2. 在用于更改 hive-site.xml 中的属性的 Hive Metastore 服务器高级配置安全阀中,单击 + 并hive.metastore.uris使用以下语法添加 属性:thrift://<n.n.n.n>:9083

     Metastore 主机的 IP 地址或完全限定域名 (FQDN) 替换<n.n.n.n>。

     只有 hive-site.xml 中的 Hive Metastore Server Default Group 应定义此属性。

设置 JDBC URL 连接覆盖

您可以配置 HMS 数据库连接的细粒度调整。您指定一个 JDBC URL 覆盖,这取决于您的数据库,用于建立到 Hive 元存储数据库的连接。

此任务仅适用于高级数据库用户。使用此覆盖时,将覆盖以下属性

  • Hive Metastore 数据库名称
  • Hive Metastore 数据库主机
  • Hive Metastore 数据库端口
  • 对 Hive Metastore 数据库启用 TLS/SSL
  • 所需的默认用户角色是配置员。
  • 您知道用于设置以下属性的值:
  • Hive Metastore 数据库类型
  • Hive Metastore 数据库用户
  • Hive Metastore 数据库密码
  1. 根据您的集群配置设置 Hive Metastore Database JDBC URL Override 属性的值。
  • MySQL
jdbc:mysql://<host>:<port>/<metastore_db>?key=value
  • PostgreSQL
jdbc:postgresql://<host>:<port>/<metastore_db>?key=value
  • 使用服务名称的 Oracle JDBC Thin
jdbc:oracle:thin:@//<host>:<port>/<service_name>
  • 使用 SID 的 Oracle JDBC Thin
jdbc:oracle:thin:@<host>:<port>:<SID>
  • 使用 TNSName 的 Oracle JDBC Thin
jdbc:oracle:thin:@<TNSName>

2.  单击保存。

3.  单击 操作>部署客户端配置。

4.  重新启动 Hive Metastore。

优化元存储

与其他调优过程类似,一般 Metastore 调优涉及调整和测试,直到您发现可以提高 Metastore 性能的更改组合。调整建议包括硬件和软件更改。

通常,您需要限制与 Hive Metastore 的并发连接。随着打开连接数量的增加,延迟也会增加。后端数据库问题、Hive 使用不当(例如极其复杂的查询、连接泄漏和其他因素)都会影响性能。

通常的Metastore 调优

尝试进行以下更改以调整 HMS 性能:

  • 确保单个查询访问不超过 10,000 个表分区。如果查询连接表,计算跨所有表访问的组合分区计数。
  • 调整后端(RDBMS)。HiveServer连接HMS,只有HMS连接RDBMS。后端花费的时间越长,HMS 响应相同请求所需的内存就越多。限制后端数据库中的连接数。

MySQL:例如,在 /etc/my.cnf 中:

[mysqld]
datadir=/var/lib/mysql
max_connections=8192
. . .

MariaDB:例如,在 /etc/systemd/system/mariadb.service.d/limits.conf 中:

[Service]
LimitNOFILE=24000
. . .
  • 使用默认的 thrift 属性 (8K):
hive.server2.async.exec.threads 8192
hive.server2.async.exec.wait.queue.size 8192
hive.server2.thrift.max.worker.threads 8192
  • datanucleus.connectionPool.maxPoolSize为您的应用程序设置。例如,如果 poolSize = 100,有 3 个 HMS 实例(一个专用于压缩),每个服务器有 4 个池,则可以容纳 1200 个连接。

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

F5:API 网关、流量网关发展各异,推出NGINX企阅版提供开源软件+企业级服务

作者 | 宋慧 出品 | CSDN 云计算 全球 80%互联网流量经过的 NGINX&#xff0c;全球有超过 4 亿个域名使用 NGINX 为载体&#xff0c;NGINX 无疑是成功的开源网关产品。 近日&#xff0c;F5 宣布 NGINX 在社区开源版本基础之上&#xff0c;推出NGINX企阅版&#xff08;NGINX Op…

Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算

简介&#xff1a;如何以 Serverless 的方式运行 Spring Boot 应用&#xff1f; 作者 | 西流&#xff08;阿里云函数计算专家&#xff09; Spring Boot 是基于 Java Spring 框架的套件&#xff0c;它预装了 Spring 一系列的组件&#xff0c;开发者只需要很少的配置即可创建独立…

北京计算机一级2020,2020北京市一级计算机基础及MS Office应用考试在线自测试题库(不限设备,登陆即可做题)...

&nbsp&nbsp[导读]:2020北京市一级计算机基础及MS Office应用考试在线自测试题库(不限设备&#xff0c;登陆即可做题)&#xff0c;更多北京等级考试报名时间、考试时间以及考试模拟试题&#xff0c;请访问易考吧北京等级考试栏目2020北京市一级计算机基础及MS Office应用…

实现 消息提醒图标_用了5年苹果手机都不知道,原来小汽车图标是这个意思 ! ! !...

阅读本文前&#xff0c;请您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都会有分享&#xff0c;都是免费订阅&#xff0c;请您放心关注。注图文来源网络&#xff0c;侵删 …

技术分享:从双11看实时数仓Hologres高可用设计与实践

简介&#xff1a;本文将会从阿里巴巴双11场景出发&#xff0c;分析实时数仓面临的高可用挑战以及针对性设计。 2021年阿里巴巴双11完美落下为帷幕&#xff0c;对消费者来说是一场购物盛宴&#xff0c;对背后的业务支撑技术人来说&#xff0c;更是一场年度大考。在这场大考中&a…

操作系统如何实现:什么是宏内核、微内核

作者 | 陆小凤来源 | 码农的荒岛求生操作系统和普通的大型应用程序项目类似&#xff0c;都涉及代码组织方式的问题&#xff0c;但操作系统的独特之处在于其核心部分必须运行在内核态&#xff0c;kernel model&#xff0c;所谓内核态严格讲是指在该状态下程序拥有对硬件(hardwar…

雷神开机logo更改_九代酷睿i9加持的性能怪兽 雷神911黑武士Ⅱ评测

随着英特尔9代酷睿CPU的到来&#xff0c;品牌台式机也逐渐迎来了全新的升级&#xff0c;各大厂商也竞相抢占台式整机市场。而对于DIY组装机来说&#xff0c;相对于玩家门槛和售价又相对较高。国产台式机品牌雷神也抓住了这次契机&#xff0c;推出了“911黑武士”的第二代“911黑…

阿里云高级技术专家周晶:基于融合与协同的边缘云原生体系实践

简介&#xff1a;2020年 5G 商用元年以来&#xff0c;各种边缘场景开始火热起来&#xff0c;边缘计算又重回人们视野&#xff0c;这次的回归还伴随着云计算的普及与通信技术的颠覆式发展。边缘云作为 5G 与中心云计算的中继节点&#xff0c;处于云网融合、承上启下的关键位置。…

计算机毕设最快多长时间,大学几年快结束了,计算机毕设到底该怎么做?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼计算机的毕设与其他不同&#xff0c;计算机的毕设具有很大的跳跃性。学校教给我们的东西是C/C/Java最基本的语法&#xff0c;而我们的毕设却是一套完整的系统。这造成了很多同学拿到毕设题目时一脸懵逼的问题。针对这种情况&#x…

进程调度:我太难了!

作者 | 轩辕之风O来源 | 编程技术宇宙1、任务切换现在有一块CPU&#xff0c;但是有两个程序都想来执行&#xff0c;我们需要开发一个任务调度程序。只有两个程序&#xff0c;so easy啦&#xff01;让它们交替执行就行了。为了实现切换&#xff0c;我们提供一个API&#xff0c;这…

阿里千万实例可观测采集器-iLogtail正式开源

简介&#xff1a;11月23日&#xff0c;阿里正式开源可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施&#xff0c;iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。iLogtail运行在服务器、容器、K8s、嵌入式等多种环境…

重启报错_Win10蓝屏,提示收集错误信息,反复重启报错

操作步骤:电脑为Win10系统&#xff0c;偶尔遇到微软Win10检测机制收集错误信息的提示&#xff0c;需要重启&#xff0c;重启之后恢复正常&#xff0c;但是在使用过程中收到此报错之后机器会反复的重启蓝屏提示。您可参考以下方式调试&#xff1a;方案一&#xff1a;1、按下“Wi…

一款跑在云上的定制容器专属 OS 来了——LifseaOS | 龙蜥技术

简介&#xff1a;如果可以把运维 API 化&#xff0c;那我们是不是可以把 OS 也作为一个 K8S 可以管理的资源&#xff0c;让 K8S 像管理容器一样管理OS&#xff1f; 引言 在 2021 年 10 月的云栖大会上&#xff0c;为云原生而生的 OS Lifsea 正式对外发布&#xff0c;并集成进入…

小学学校计算机室财产登记册,小学财产登记制度

小学财产登记制度一、建立财产登记制度。一是建立公共财物借、还登记制度。凡是向公共财物管理责任人借、还公物&#xff0c;均记录好借、还公物的品种数量及日期和其它应有的说明。凡有损坏或遗失&#xff0c;借物人须照价赔偿或负责维修好。登记薄将作为档案予以保存备查。二…

亚信安全发2021财报: 营收增长30.82%,云安全、终端安全核心产品收入增幅明显

供稿 | 亚信安全 4月28日晚间&#xff0c;亚信安全披露2021年年度报告&#xff0c;报告显示&#xff1a;亚信安全实现营业收入16.67亿元&#xff0c;较上年同期增加30.82%&#xff1b;归属于母公司所有者的净利润1.79亿元&#xff0c;较上年同期增加4.88%&#xff1b;归属于母公…

使用云效Codeup10分钟紧急修复Apache Log4j2漏洞

简介&#xff1a;2021年12月10日&#xff0c;国家信息安全漏洞共享平台&#xff08;CNVD&#xff09;收录了Apache Log4j2远程代码执行漏洞&#xff08;CNVD-2021-95914&#xff09;&#xff0c;此漏洞是一个基于Java的日志记录工具&#xff0c;为Log4j的升级。作为目前最优秀的…

mysql时间相减得到天数保留两位_【敲黑板!】分布式事务数据库 —-MySQL 数据库开发规范(第四节)...

今天Amy着重为大家讲解一下关于函数的一些硬核知识&#xff0c;也是本文中非常重要的一个章节&#xff0c;记得认真看&#xff08;dianzan&#xff09;哦~第四节、函数4.1 字符串连接函数MySQL 数据库中字符串连接方法&#xff0c;需使用 CONCAT() 或 CONCAT_ WS()函数&#xf…

3类代码安全风险如何避免?

简介&#xff1a;企业和开发者在解决开源依赖包漏洞问题的同时&#xff0c;还需要考虑如何更全面地保障自己的代码数据安全。那么有哪些安全问题值得我们关注呢&#xff1f; 编者按&#xff1a;本次 Apache Log4j2 开源依赖包漏洞为所有人敲响警钟&#xff0c;企业的代码作为最…

多媒体计算机辅助教学与课件制作,清华大学出版社-图书详情-《计算机辅助教学多媒体课件设计制作与应用》...

随着计算机的普及和教育教学手段的现代化&#xff0c;为了提高教学水平、教学质量和教学效率&#xff0c;培养学生的综合素质&#xff0c;广大教师和学生迫切需要掌握多媒体课件制作技术&#xff0c;应用多媒体课件辅助教学已经成为当今教师必须具备的一种能力。计算机辅助教学…

手工模拟实现 Docker 容器网络!

作者 | 张彦飞allen来源 | 开发内功修炼如今服务器虚拟化技术已经发展到了深水区。现在业界已经有很多公司都迁移到容器上了。我们的开发写出来的代码大概率是要运行在容器上的。因此深刻理解容器网络的工作原理非常的重要。只有这样将来遇到问题的时候才知道该如何下手处理。网…