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