如何公升級YDB

2021-07-27 05:52:09 字數 3490 閱讀 7467

通過./stop-all.sh來停止服務(注:hdp版本需要在管理頁面上停止服務)

1)備份舊版ydb整個程式目錄 2)

備份我們自己開發或新增的第三方的jar包和配置檔案 3)

備份ydb提供的spark整個程式目錄 4)

備份hive本地元資料庫

本地元資料庫是指hive元資料庫derby.log和metastore_db,元資料庫的位置可以從conf下的ya100_env.sh中的

hive_metastore_path

獲取,如下圖所示。

1)替換ydb提供的spark公升級版本 u

將之前舊的spark整個目錄mv成待備份的目錄名字,如***_spark_bak_yyyymmdd u

將新的spark解壓後,重新命名為之前的spark目錄 u

檢查spark目錄是否正確,核對spark相關檔案是否存在 2)

替換ydb u

將之前舊的ya100 整個目錄mv成待備份的目錄名字,如***_ya100_bak_yyyymmdd u

將新的ya100解壓後,重新命名為之前的ya100目錄 u

檢查ya100目錄是否正確,核對相關檔案路徑是否存在 3)

元資料庫檔案替換

將之前備份的hive元資料庫derby.log和metastore_db ,恢復到相關目錄裡面。

如果沒有恢復該元資料庫目錄,公升級ydb後,會發現之前舊版建立的hive表,均不可見(資料還在)。 5)

將我們我們自己開發或新增的第三方的jar包和配置檔案重新覆蓋過來。

jar包如:

kafka的reader包,parser包

自定義udf,udaf,udtf函式

自定義的第三方分詞,自定義的詞庫

因為版本問題而更換的kafka相關jar包

其他jar包,如mysql相關庫

配置檔案如

fieldtype.txt裡面自定義的資料型別

dynamicfield.txt裡面自定義的動態資料型別

ik_ext.dic 裡面定義的ik詞庫檔案

1)ya100_env

.sh更改(hdp版請在配置頁面上管理)

參考舊的

ya100_env

.sh,將舊版的

ya100_env

.sh 我們使用者配置的部分,更新到新版。

如下圖所示,紅色部分是我們經常需要修改覆蓋的地方。

更改(hdp版請在配置頁面上管理)

參考舊的

ydb_site.yaml

,將舊版的

ydb_site.yaml

我們使用者配置的部分,更新到新版。

如下圖所示,紅色部分是我們經常需要修改覆蓋的地方。

log4j的配置更新(hdp版請在配置頁面上管理)

log4j是用來控制程式的日誌的。

常規情況下log4j我們無需配置,但是如果之前我們的舊版本改動了log4j的配置,我們本次公升級記得也跟著改動過來

driver.log.properties

為我們的driver節點的log4j 配置,即master節點的log4j。

worker.log.properties

為我們的worker節點的log4j配置。 4)

spark-defaults.conf

的配置更新(hdp版請在配置頁面上管理)

改配置為spark的配置,常規情況下使用者無需配置。最近的一些版本

spark-defaults.conf

我們的改動也比較大,所以注意,

spark-defaults.conf

絕對不可以直接用舊版的配置檔案直接覆蓋,因為很多我們配置項的改動是為了提公升穩定性。

但如果因為某種原因,我們之前更改過該檔案的配置,請大家一定要在新的配置的基礎上,僅僅增加或修改我們自己更改過的那些配置,為了穩定性,不要隨意刪掉ydb提供的預設配置。

5)init.sql

裡面我們的初始化函式

init.sql

是ydb的啟動後的初始化sql檔案,通常來說也無須配置。

如果我們在

init.sql

做了一些hive函式的初始化,或者構建了一些表之類的,我們需要參考舊的

init.sql

對應著修改過來 6)

hive-site.xml

的配置(hdp版請在配置頁面上管理)

hive-site.xml

是跟hive表相關的配置,裡面控制了jdbc連線的執行緒池,以及元資料儲存位置等資訊。

如果之前舊版我們更改過這裡,記得要配置。

如果該次公升級,涉及版本一些重大特性的變化,如要在這個步驟裡面給予修改。這裡面的更改由延雲額外提供文件進行更改。 如:

作業系統發現的可以對效能或穩定性有較大影響的新的引數設定

hadoop\kafka\zookeeper等對ydb有較大影響的一些新的引數配置。

對於本地1.5版本的ydb需要新增額外如下配置

1)

網路配置優化

echo  " net.core.somaxconn = 32768 " >> /etc/sysctl.conf

sysctl -p

sysctl -a|grep somaxconn 2)

hadoop 配置更改 l

調整dfs.datanode.max.transfer.threads的值,預設4096太小,建議調整為10240 l

調整ipc.server.listen.queue.size為32768 l

調整yarn.resourcemanager.am.max-attempts的值為10000000,預設的2次太小,客戶測試過程反覆的kill就會導致整個任務失敗。

通過start-all.sh來啟動服務 1)

ydb的1210頁面上的monitor頁面是否有異常錯誤上報

看這個頁面是否有 紫色或者紅色的異常提示

spark的ui頁面是否能開啟 3)

核對業務,服務是否正常,相關sql是否能查詢到結果 4)

核對業務資料是否有異常,資料條數是否正確。

如何公升級YDB

通過.stop all.sh來停止服務 注 hdp版本需要在管理頁面上停止服務 1 備份舊版ydb整個程式目錄 2 備份我們自己開發或新增的第三方的jar包和配置檔案 3 備份ydb提供的spark整個程式目錄 4 備份hive本地元資料庫 本地元資料庫是指hive元資料庫derby.log和met...

YDB資源整理彙總

什麼是延雲ydb 基於spark排序的一種更廉價的實現方案 附基於spark的效能測試 大索引技術大資料的未來 ydb技術原理 那些年我們在spark sql上踩過的坑 ydb跟solr cloud elasticsearch區別 ydb依賴的硬體環境詳解 ydb依賴的作業系統環境詳解 ydb依賴的...

如何打公升級

這是流行於長子縣的一種撲克牌遊戲。這裡介紹其中一種簡單的玩法。首先你需要知道的是 開始玩牌 開始依次取牌,手中撲克牌的擺放順序為花色一樣的牌放到一起。比如紅桃全放在一起。待取到剩餘8張牌時候停止,這8張牌稱為底牌。這樣每人手中25張牌。在這個過程中需要確定哪一隊是在台上的,方法是取牌過程中哪一隊先亮...