一、Hbase數(shù)據(jù)備份恢復(fù)
在山東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),山東網(wǎng)站建設(shè)費(fèi)用合理。
說明:
因?yàn)闇y(cè)試環(huán)境要修改hadoop配置文件hdfs-site.xml的參數(shù)hdfs.rootdir
修改前的配置
修改后的配置
所以修改之后原來存在hbase1的表都不能用了,需要做下備份,然后把表導(dǎo)入到hbase中。
具體的處理過程如下所示:
1、停止hbase服務(wù)
登錄hbase主節(jié)點(diǎn)
$ cd $HBASE_HOME/bin
$ stop-hbase.sh
2、備份hbase1
檢查hbase1的大小
$ ./hdfs dfs -du -s -h /hbase1
2.8 G /hbase1
備份
登錄hadoop主節(jié)點(diǎn)
$ cd $HADOOP_HOME/bin
$ ./hadoop distcp hdfs://192.168.22.178:9000/hbase1 hdfs://192.168.22.178:9000/backuphbase
執(zhí)行的過程中出現(xiàn)部分任務(wù)失敗的信息,如下所示:
INFO tools.DistCp: Input Options: DistCpOptions{atomicCommit=false, syncFolder=false, deleteMissing=false, ignoreFailures=false, maxMaps=20, sslConfigurationFile='null', copyStrategy='uniformsize', sourceFileListing=null
Caused by: java.io.IOException: Couldn't run retriable-command: Copying
不知道什么情況,先忽略
查看備份文件的大小
bin]$ ./hdfs dfs -du -s -h /backuphbase
2.8 G /backuphbase
刪除hbase1
$ ./hdfs dfs -rm -R /hbase1
18/06/15 10:58:10 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
Deleted /hbase1
3、恢復(fù)文件到hbase
$ ./hdfs dfs -mkdir /hbase
$ ./hadoop distcp hdfs://192.168.22.178:9000/backuphbase/* hdfs://192.168.22.178:9000/hbase
二、恢復(fù)后部分表無(wú)法刪除的問題處理
1、啟動(dòng)hbase服務(wù)
$ cd $HBASE_HOME/bin
$ start-hbase.sh
2、發(fā)現(xiàn)問題
瀏覽器輸入http://192.168.22.178:16010
發(fā)現(xiàn)有兩個(gè)表(table1和table2)的Other Regions列值為1,其他都為0,接下來在刪除這個(gè)表的過程中發(fā)現(xiàn)也不能成功執(zhí)行,刪除過程如下:
$ cd $HBASE_HOME/bin
$ ./hbase shell
hbase(main):001:0> disable 'table1'
hbase(main):001:0> drop 'table1'
這里執(zhí)行刪除表的命令時(shí)會(huì)卡死,另一個(gè)表也是這種情況。
3、解決問題
3.1、在hdfs文件系統(tǒng)中刪除兩個(gè)表的文件
$ cd $HADOOP_HOME/bin
$ ./hdfs dfs -rm -r /hbase/data/default/table1
$ ./hdfs dfs -rm -r /hbase/data/default/table2
3.2、在ZK中刪除兩個(gè)表的文件
登錄ZK節(jié)點(diǎn)
$ cd $ZK_HOME/bin
$ ./zkCli.sh
[zk: localhost:2181(CONNECTED) 1] rmr /hbase/table/table1
[zk: localhost:2181(CONNECTED) 2] rmr /hbase/table/table2
3.3、重啟服務(wù)
重啟服務(wù)流程
關(guān)閉hbase集群-->關(guān)閉hadoop集群-->啟動(dòng)hadoop集群-->啟動(dòng)hbase集群
啟動(dòng)完成后在web界面發(fā)現(xiàn)兩個(gè)表都消失了