tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

Hive 元数据管理

PDF
聚焦模式
字号
最后更新时间: 2024-10-30 10:30:01
当选择部署 Hive 组件时,Hive 元数据库提供了两种存储方式:第一种集群默认,Hive 元数据存储于集群独立购买 MetaDB;第二种是关联外部 Hive 元数据库,可选择关联 EMR-MetaDB 或自建 MySQL 数据库,元数据将存储于关联的数据库中,不随集群销毁而销毁。
集群默认是独立自动购买一个 MetaDB 云数据库实例存储单元作为元数据存储地,与其余组件元数据一起存储,并随集群销毁而销毁 MetaDB 云数据库,若需保存元数据,需提前在云数据库中手动保存元数据。
注意
1. Hive 元数据与 Druid、Superset、Hue、Ranger、Oozie、Presto 组件元数据一起存储。
2. 集群需要单独购买一个 MetaDB 作为元数据存储单元。
3. MetaDB 随集群销毁而销毁,即元数据随集群而销毁。

关联 EMR-MetaDB 共享 Hive 元数据

集群创建时系统会拉取云上可用的 MetaDB,用于新集群 Hive 组件存储元数据,无需单独购买 MetaDB 存储 Hive 元数据节约成本;并且 Hive 元数据不会随当前集群的销毁而销毁。
注意
1. 可用 MetaDB 实例 ID 为同一账号下 EMR 集群中已有的 MetaDB。
2. 当选择 Hue、Ranger、Oozie、Druid、Superset 一个或多个组件时系统会自动购买一个 MetaDB 用于除 Hive 外的组件元数据存储。
3. 要销毁关联的 EMR-MetaDB 需前往云数据库销毁,销毁后 Hive 元数据库将无法恢复。
4. 需保持关联的 EMR-MetaDB 网络与当前新建集群在同一网络环境下。
1. 新建集群并选择 Hive 组件后,单击下一步并选择关联的 EMR-MetaDB:


2. 未安装 Hive 组件的集群,在新增 Hive 组件时,选择关联的 EMR-MetaDB:



关联自建 MySQL 共享 Hive 元数据

关联自己本地自建 MySQL 数据库作为 Hive 元数据存储,也无需单独购买 MetaDB 存储 Hive 元数据节约成本,需准确填写输入以“jdbc:mysql://开头”的本地地址、数据库名字、数据库登录密码,并确保网络与当前集群网络打通。
注意
1. 请确保自建数据库与 EMR 集群在同一网络下。
2. 准确填写数据库用户名和数据库密码。
3. 当选择 Hue、Ranger、Oozie、Druid、Superset 一个或多个组件时系统会自动购买一个 MetaDB 用于除 Hive 外的元数据存储。
4. 需保证自定义数据库中的 Hive 元数据版本大于等于新集群中的 Hive 版本。
5. 请确保“自建 MySQL”中包含已经初始化的 HIVE 元数据库表。
1. 新建集群并选择 Hive 组件后,单击下一步并关联自建的 Mysql 数据库:


2. 未安装 Hive 组件的集群,在新增 Hive 组件时,关联自建的 Mysql 数据库:



HIVE 关联自建元数据异常修复方法

由于在创建 EMR 集群时选用了关联自建 MySQL,且自建 MySQL 无 HIVE 的元数据,这会导致 HIVE 进程异常。

问题复现





解决方案

对于无数据的 hive 元数据操作步骤如下:
说明
操作时替换成用户实际的 ${ip}、${port}、${database}。
1. 控制台将 HIVE 的 hs2 和 metastore 停掉。
2. hive 组件修改 hive-site.xml proto-hive-site.xml 下发。 配置项:javax.jdo.option.ConnectionURL
jdbc:mysql://${ip}:${port}/${database}?useSSL=false&createDatabaseIfNotExist=true&characterEncodin
g=UTF-8
3. CDB 数据库里删除库操作:
drop database ${database};
4. hadoop 用户执行如下命令:
/usr/local/service/hive/bin/schematool -dbType mysql -initSchema
5. 控制台 HIVE 启动 hs2和 metastore。
6. 访问 hive 是否异常。
如果有字符异常,CDB 再执行如下命令:
alter database ${database} character set latin1;
flush privileges;


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈