Hive1/2到Hive3升级规划工具

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 将集群从 Hive1 /2升级到 Hive3?这包括:CDH5→CDP、CDH6→CDP、HDP2→HDP3 或 HDP2→CDP。这种升级的挑战有多种形式。此工具旨在(多次)在 Hive1/2 环境中运行,以收集有关在尝试升级之前需要解决的“什么”的详细信息。

如何使用

包含在 Github 自述文件中:https://github.com/dstreev/cloudera_upgrade_utils/blob/master/hive-sre/README.md

工具介绍

此应用程序有 3 个子程序:

  • sre 用于查找由小文件和过多分区引起的潜在“Hive”性能问题。
  • u3 用于审查 Hive3 升级计划的“Hive 1/2”环境。
  • cli是一个 hdfs 交互式客户端。它是hive-sre应用程序的核心部分,因此我们通过hive-sre-cli可执行文件在此处公开了 shell 。
  • perf 用于检查 JDBC 连接的吞吐量。

支持的 Metastore DB

子程序

数据库

版本

已测试

笔记

u3

MySQL

5.6

有限的测试

建议升级5.7。这是用于 HDP 的较低 MySql 支持的环境


5.7

Yes



5.7

Yes



8.0

No

CDH/HDP 不支持

MariaDB

10.1

No,但应该像 10.2 一样工作



10.2

Yes


PostgreSQL

9.6

No,但应该工作



10

Yes

现场测试,可能仍然是测试的比较粗糙


11

No,但应该在 10 下工作


Oracle

12

Yes

现场测试,可能仍然是测试的比较粗糙

sre

MySQL

5.6

有限的测试

建议升级5.7。这是用于 HDP 的较低 MySql 支持的环境


5.7

Yes



5.7

Yes



8.0

No

CDH/HDP 不支持

MariaDB

10.1

不,但应该像 10.2 一样工作



10.2

Yes


PostgreSQL

9.6

No,但应该工作



10

Yes

现场测试,可能仍然是测试的比较粗糙


11

No,但应该在 10 下工作


Oracle

12

Yes

现场测试,可能仍然是测试的比较粗糙

确保${HOME}/.hive-sre/aux_libs目录中有适合数据库的驱动程序。

我已经尝试尽可能多地匹配 HDP 2.6.5 和 3.1.x 及CDH5/6支持的数据库。

获取二进制文件

使用预建的二进制文件!如果不下载和构建“Hadoop Cli”,您将没有从头开始构建所需的依赖项。

不要构建,在这里下载最新的二进制文件!!!

  • 将发布的“tar.gz”文件下载到临时位置。
  • 解压文件 (tar.gz)。


tar xzvf hive-sre-dist.tar.gzcd hive-sre
  • 作为 root 用户,chmod +x 3 个 shell 脚本文件。
  • 运行“setup.sh”。

./setup

这将创建和安装hive-sre和hive-sre-cli应用程序到您的路径。

在具有默认配置的主机上试用(如果已进行 kerberized,请先获取票证):


hive-sre-cli

或者


hive-sre

配置 hive-sre

有关详细信息,请参阅配置文档

运行

为了简化下面的应用程序的启动,请配置这些核心环境变量。


hive-sre sre -db priv_dstreev -cfg /tmp/test.yaml -o ./sre-out`

输出

输出是一组带有操作和错误信息(遇到时)的文件。这些文件可能是txt文件或markdown. 您可能希望使用markdown查看器来更轻松地查看这些报告。markdown查看器需要支持github markdown表

sre和u3的UI细节

只有活动进程会显示在 UI 中。UI 将每秒刷新一次并在下方显示当前详细信息。

u3中定义了几个“进程” 。每个进程将运行 1 个或多个“子进程”。UI 中的计数器列表特定于该部分中的“进程”和“子进程”。

并发进程数由parallelism上面定义的配置yaml中的变量控制。

  1. hive-sre 版本信息
  2. 元存储 RDBMS 类型
  3. 线程状态 a,b,c - d,e,f,j
  • (a) 核心池大小
  • (b) 最大池大小
  • (c) 最大池大小
  • (d) 活动线程数
  • (e) 已完成的线程任务
  • (f) 剩余线程队列
  • (j) 总任务数
  1. 程序名称
  2. 程序计数 [Total/Completed]
  • Total 是该流程的所有任务的完整计数
  • Completed 是此过程已完成的任务数。
  1. 程序检查 - 程序的子级
  2. 程序检查计数 - errors/successes
  3. 速度 - 以秒为单位的总时间进程已运行。
  4. 速度 - 自作业开始以来每秒完成的平均任务数。
  • 请注意,并非所有任务都是平等的。任务时间因集群的内容和被检查的区域而异。并且很大程度上受 Namenode 性能的影响。

小贴士

  • loc_scan 的排序结果..

sort -k 1 --field-separator="|" loc_scan_missing_dirs.md > loc_scan_missing_dirs_sorted.txt

原文链接:https://github.com/dstreev/cloudera_upgrade_utils/blob/master/hive-sre/README.md

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
SQL 存储 分布式计算
CDP的Hive3系列之Hive Metastore介绍
CDP的Hive Metastore (HMS) 是一种服务,用于在后端 RDBMS(例如 MySQL 或 PostgreSQL)中存储与 Apache Hive 和其他服务相关的元数据。Impala、Spark、Hive 和其他服务共享元存储。与 HMS 的连接包括 HiveServer、Ranger 和代表 HDFS 的 NameNode。
1940 0
CDP的Hive3系列之Hive Metastore介绍
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
73 3
|
2月前
|
SQL 存储 分布式计算
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
49 3
|
2月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
64 2
|
7月前
|
SQL 分布式计算 关系型数据库
【数据仓库与联机分析处理】数据仓库工具Hive
【数据仓库与联机分析处理】数据仓库工具Hive
121 6
|
SQL 关系型数据库 MySQL
hive数据库操作与sqoop工具的使用
hive数据库操作与sqoop工具的使用
|
SQL 存储 分布式计算
数据仓库工具之Hive的架构原理
数据仓库工具之Hive的架构原理
|
SQL 存储 资源调度
CDP中的Hive3系列之保护Hive3
作为管理员,您需要了解运行 Hive 查询的 Hive 默认授权是不安全的,以及您需要做什么来保护您的数据。您需要了解您的安全选项:设置 Ranger 或基于存储的授权 (SBA),它基于模拟和 HDFS 访问控制列表 (ACL),或这些方法的组合。 将 Apache Hive 访问限制为已批准的用户。Cloudera 推荐 Ranger。授权是检查用户权限以执行选择操作的过程,例如创建、读取和写入数据,以及编辑表元数据。Apache Ranger 为所有 Cloudera 运行时服务提供集中授权。 您可以设置 Ranger 以使用 Hadoop SQL 策略保护托管的 ACID 表或外部表。
910 0
CDP中的Hive3系列之保护Hive3
|
SQL 存储 分布式计算
数仓工具之Hive调优
1、启用Fetch抓取 2、本地模式(调试使用) 3、表的优化 4、合理设置map数以及reduce数 5、JVM重用 6、压缩 7、执行计划
296 0
|
SQL 存储 资源调度
CDP中的Hive3系列之配置Apache Hive3
升级到 CDP 并迁移旧表后,您可能希望暂时切换到 Hive 旧行为。旧行为可能会解决数据迁移期间脚本的兼容性问题,例如,在运行 ETL 时。 默认情况下,执行 CREATE TABLE 语句会在 Hive 元存储中创建一个托管的 Apache Hive 3 表。您可以更改默认行为以使用旧的 CREATE TABLE 行为。配置旧行为时,CREATE TABLE 会生成外部表。由于完整 ACID 事务表相对于外部表的优势,仅在升级期间建议使用旧行为。
596 0
CDP中的Hive3系列之配置Apache Hive3