Hive1/2到Hive3升级规划工具

如何使用

包含在 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

上一篇:《C++语言基础》实践项目——文本文件及应用


下一篇:EternalRocks恶意软件用了7种NSA黑客工具 比Wannacry更厉害 潜伏期24小时