大數據

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

Leave a Reply

Your email address will not be published. Required fields are marked *