W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當(dāng)你在試著升級 HBase 的時候,你可能會遇到升級失敗的問題,并且想要將其恢復(fù)成之前的版本。本節(jié)就介紹如何執(zhí)行回滾以將 HBase 恢復(fù)為到較早的版本。請注意,這應(yīng)該只在主要版本和一些次要版本之間需要。您應(yīng)該始終能夠在相同次要版本的 HBase Patch 版本之間進(jìn)行降級。這些說明可能要求您在開始升級過程之前注意相關(guān)的事項,因此請務(wù)必事先閱讀本節(jié)。
回滾與降級:
本節(jié)介紹如何對 HBase 次要版本和主要版本之間的升級執(zhí)行回滾。在本文檔中,回滾指的是采取??升級后的集群并將其恢復(fù)到舊版本的過程,同時丟失升級后發(fā)生的所有更改。相比之下,群集降級會將升級后的群集恢復(fù)到舊版本,同時保留升級后寫入的任何數(shù)據(jù)。我們目前僅提供回滾 HBase 集群的說明。此外,只有在執(zhí)行升級之前遵循這些說明,回滾才有效。
當(dāng)這些指令談?wù)摶貪L與降級的先決條件群集服務(wù)(即HDFS)時,您應(yīng)該將服務(wù)版本與退化的降級案例視為相同。
復(fù)制:
除非您正在執(zhí)行全部服務(wù)回滾,否則 HBase 群集將會丟失任何配置的對等 HBase 復(fù)制。如果您的集群配置為 HBase 復(fù)制,那么在按照這些說明進(jìn)行操作之前,您應(yīng)該記錄所有復(fù)制節(jié)點。執(zhí)行回滾之后,您應(yīng)該將每個記錄的對等點添加回群集。另外要注意,自升級后寫入群集的數(shù)據(jù)可能已經(jīng)或可能未被復(fù)制到任何對等方。
數(shù)據(jù)地點:
除非您正在執(zhí)行全部服務(wù)回滾,否則通過回滾過程可能會破壞Region Server的所有局部位置。在群集有時間通過緊湊排列恢復(fù)數(shù)據(jù)位置之前,您應(yīng)該期望性能的降級。或者,您可以強(qiáng)制壓縮來加速此過程,但要以生成群集負(fù)載為代價。
可配置的位置:
以下說明假設(shè) HBase 數(shù)據(jù)目錄和 HBase znode 的默認(rèn)位置。這兩個位置都是可配置的,您應(yīng)該在繼續(xù)操作之前驗證群集中使用的值。如果您有不同的值,只需將默認(rèn)值替換為在配置中找到的 HBase 數(shù)據(jù)目錄,它是通過密鑰 "HBase" (rootdir) 配置的,并且具有默認(rèn)的 "/HBase"。* HBase znode通過密鑰'zookeeper.znode.parent'進(jìn)行配置,默認(rèn)值為'/ hbase'。
如果您要執(zhí)行 HDFS 和 ZooKeeper 服務(wù)的回滾,那么 HBase 的數(shù)據(jù)將在此過程中回滾。
要求
升級前
在升級前不需要額外的步驟。作為一項額外的預(yù)防措施,您可能希望使用 distcp 將 HBase 數(shù)據(jù)備份到要升級的群集之外。為此,請本節(jié)內(nèi)容中的按照“HDFS降級后回滾”的“升級前”部分中的步驟操作,但它是復(fù)制到另一個 HDFS 實例,而不是在同一實例中。
執(zhí)行回滾
如果您將回滾 HDFS,但通過 ZooKeeper 降級,那么 HBase 將處于不一致的狀態(tài)。在完成此過程之前,您必須確保集群未啟動。
要求
升級前
在升級前不需要額外的步驟。作為一種額外的預(yù)防措施,您可能希望使用 distcp 將 HBase 數(shù)據(jù)備份到要升級的群集之外。為此,請本節(jié)內(nèi)容中的按照“HDFS降級后回滾”的“升級前”部分中的步驟操作,但它將復(fù)制到另一個HDFS實例,而不是在同一實例中。
執(zhí)行回滾
[hpnewton@gateway_node.example.com ~]$ zookeeper-client -server zookeeper1.example.com:2181,zookeeper2.example.com:2181,zookeeper3.example.com:2181
Welcome to ZooKeeper!
JLine support is disabled
rmr /hbase
quit
Quitting...
如果您要執(zhí)行 HDFS 降級,則無論ZooKeeper是否通過回滾、降級或重新安裝,您都需要遵循這些指示信息。
要求
升級前
在開始升級過程之前,您必須對 HBase 的支持?jǐn)?shù)據(jù)進(jìn)行完整備份。以下說明介紹了在當(dāng)前HDFS實例中備份數(shù)據(jù)的過程。或者,您可以使用 distcp 命令將數(shù)據(jù)復(fù)制到另一個 HDFS 群集。
[hpnewton@gateway_node.example.com ~]$ kinit -k -t hdfs.keytab hdfs@EXAMPLE.COM
[hpnewton@gateway_node.example.com ~]$ hadoop distcp /hbase /hbase-pre-upgrade-backup
執(zhí)行回滾
[hpnewton@gateway_node.example.com ~]$ kinit -k -t hdfs.keytab hdfs@EXAMPLE.COM
[hpnewton@gateway_node.example.com ~]$ hdfs dfs -mv /hbase /hbase-upgrade-rollback
[hpnewton@gateway_node.example.com ~]$ hdfs dfs -mv /hbase-pre-upgrade-backup /hbase
[hpnewton@gateway_node.example.com ~]$ zookeeper-client -server zookeeper1.example.com:2181,zookeeper2.example.com:2181,zookeeper3.example.com:2181
Welcome to ZooKeeper!
JLine support is disabled
rmr /hbase
quit
Quitting...
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: