如何使用
包含在 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中的變量控制。
- hive-sre 版本信息
- 元存儲 RDBMS 類型
- 線程狀態 a,b,c - d,e,f,j
-
- (a) 核心池大小
- (b) 最大池大小
- (c) 最大池大小
- (d) 活動線程數
- (e) 已完成的線程任務
- (f) 剩餘線程隊列
- (j) 總任務數
- 程序名稱
- 程序計數 [Total/Completed]
-
- Total 是該流程的所有任務的完整計數
- Completed 是此過程已完成的任務數。
- 程序檢查 - 程序的子級
- 程序檢查計數 - errors/successes
- 速度 - 以秒為單位的總時間進程已運行。
- 速度 - 自作業開始以來每秒完成的平均任務數。
-
- 請注意,並非所有任務都是平等的。任務時間因集群的內容和被檢查的區域而異。並且很大程度上受 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