Hbase容災與備份

2021-10-14 06:03:24 字數 3197 閱讀 2268

一、前言

二、copytable

2.1 簡介

2.2 命令格式

2.3 常用命令

2.4 更多引數

三、export/import

3.1 簡介

3.2 命令格式

3.3 常用命令

四、snapshot

4.1 簡介

4.2 配置

4.3 常用命令

本文主要介紹 hbase 常用的三種簡單的容災備份方案,即copytableexport/importsnapshot。分別介紹如下:

copytable可以將現有表的資料複製到新錶中,具有以下特點:

usage: copytable [general options]

[--starttime=x]

[--endtime=y]

[--new.name=new]

[--peer.adr=adr]

同集群下 copytable

hbase org.apache.hadoop.hbase.mapreduce.copytable --new.name=tablecopy  tableorig
不同集群下 copytable

# 兩表名稱相同的情況

hbase org.apache.hadoop.hbase.mapreduce.copytable \

--peer.adr=dstclusterzk:2181:/hbase tableorig

# 也可以指新的表名

hbase org.apache.hadoop.hbase.mapreduce.copytable \

--peer.adr=dstclusterzk:2181:/hbase \

--new.name=tablecopy tableorig

hbase org.apache.hadoop.hbase.mapreduce.copytable \

--starttime=1265875194289 \

--endtime=1265878794289 \

--peer.adr=server1,server2,server3:2181:/hbase \

--families=myoldcf:mynewcf,cf2,cf3 testtable

# hbase org.apache.hadoop.hbase.mapreduce.copytable --help
# export

hbase org.apache.hadoop.hbase.mapreduce.export [[

]]# inport

hbase org.apache.hadoop.hbase.mapreduce.import

匯出命令

hbase org.apache.hadoop.hbase.mapreduce.export tablename  hdfs 路徑/tablename.db
匯入命令

hbase org.apache.hadoop.hbase.mapreduce.import tablename  hdfs 路徑/tablename.db
hbase 的快照 (snapshot) 功能允許您獲取表的副本 (包括內容和元資料),並且效能開銷很小。因為快照儲存的僅僅是表的元資料和 hfiles 的資訊。快照的clone操作會從該快照建立新錶,快照的restore操作會將表的內容還原到快照節點。clonerestore操作不需要複製任何資料,因為底層 hfiles(包含 hbase 表資料的檔案) 不會被修改,修改的只是表的元資料資訊。

hbase 快照功能預設沒有開啟,如果要開啟快照,需要在hbase-site.xml檔案中新增如下配置項:

>

>

hbase.snapshot.enabledname

>

>

truevalue

>

property

>

快照的所有命令都需要在 hbase shell 互動式命令列中執行。

1. take a snapshot

# 拍攝快照

hbase> snapshot '表名', '快照名'

預設情況下拍攝快照之前會在記憶體中執行資料重新整理。以保證記憶體中的資料報含在快照中。但是如果你不希望包含記憶體中的資料,則可以使用skip_flush選項禁止重新整理。

# 禁止記憶體重新整理

hbase> snapshot '表名', '快照名',

2. listing snapshots
# 獲取快照列表

hbase> list_snapshots

3. deleting snapshots
# 刪除快照

hbase> delete_snapshot '快照名'

4. clone a table from snapshot
# 從現有的快照建立一張新錶

hbase> clone_snapshot '快照名', '新錶名'

5. restore a snapshot

將表恢復到快照節點,恢復操作需要先禁用表

hbase> disable '表名'

hbase> restore_snapshot '快照名'

這裡需要注意的是:是如果 hbase 配置了基於 replication 的主從複製,由於 replication 在日誌級別工作,而快照在檔案系統級別工作,因此在還原之後,會出現副本與主伺服器處於不同的狀態的情況。這時候可以先停止同步,所有伺服器還原到一致的資料點後再重新建立同步。

online apache hbase backups with copytable

apache hbase ™ reference guide

hbase 複製表結構 Hbase容災與備份

一 前言 本文主要介紹 hbase 常用的三種簡單的容災備份方案,即copytable export import snapshot。分別介紹如下 copytable可以將現有表的資料複製到新錶中,具有以下特點 usage copytable general options starttime x ...

3 3 備份容災

1 備份視窗 它是指在使用者正常使用的業務系統不受影響的情況下,能夠對業務系統中的業務資料進行資料 備份的時間間隔,或者說是用於備份的時間段。2 異構儲存 不同結構的儲存裝置組合起來的乙個儲存池,達到效能和穩定性的乙個很好的折中點 並且應用了虛擬化技術,使得其使用起來就像乙個整體,降低維護投入。不同...

mysql 容災 災備 備份

1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...