Hive1/2到Hive3升级规划工具

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 存储 分布式计算
CDP的Hive3系列之Hive Metastore介绍
CDP的Hive Metastore (HMS) 是一种服务,用于在后端 RDBMS(例如 MySQL 或 PostgreSQL)中存储与 Apache Hive 和其他服务相关的元数据。Impala、Spark、Hive 和其他服务共享元存储。与 HMS 的连接包括 HiveServer、Ranger 和代表 HDFS 的 NameNode。
2663 0
CDP的Hive3系列之Hive Metastore介绍
|
7月前
|
SQL 分布式计算 数据库
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
|
7月前
|
SQL 分布式计算 数据库
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
|
12月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
292 3
|
12月前
|
SQL 存储 分布式计算
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
200 3
|
12月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
171 2
|
SQL 分布式计算 关系型数据库
【数据仓库与联机分析处理】数据仓库工具Hive
【数据仓库与联机分析处理】数据仓库工具Hive
326 6
|
SQL 关系型数据库 MySQL
hive数据库操作与sqoop工具的使用
hive数据库操作与sqoop工具的使用
|
SQL 存储 资源调度
CDP中的Hive3系列之保护Hive3
作为管理员,您需要了解运行 Hive 查询的 Hive 默认授权是不安全的,以及您需要做什么来保护您的数据。您需要了解您的安全选项:设置 Ranger 或基于存储的授权 (SBA),它基于模拟和 HDFS 访问控制列表 (ACL),或这些方法的组合。 将 Apache Hive 访问限制为已批准的用户。Cloudera 推荐 Ranger。授权是检查用户权限以执行选择操作的过程,例如创建、读取和写入数据,以及编辑表元数据。Apache Ranger 为所有 Cloudera 运行时服务提供集中授权。 您可以设置 Ranger 以使用 Hadoop SQL 策略保护托管的 ACID 表或外部表。
1049 0
CDP中的Hive3系列之保护Hive3
|
SQL 存储 分布式计算
数据仓库工具之Hive的架构原理
数据仓库工具之Hive的架构原理