从源hbase集群中复制出HBase数据库表到本地目录
来源:互联网 发布:长春市干部网络学校 编辑:程序博客网 时间:2024/06/10 04:21
一、从源hbase集群中复制出HBase数据库表到本地目录
最好停止HBase,否则可能会丢部分数据
[hbase@hadoop200 ~]$ hadoop fs -get /hbase/toplist_ware_total_1009_201232 toplist_ware_total_1009_201232
压缩
[hbase@hadoop200 ~]$ tar zcvf topl.tar.gz toplist_ware_total_1009_201232
远程复制到目标机器
[hbase@hadoop200 ~]$ scp topl.tar.gz zhouhh@h185:~/.
二、目标HBase导入
解压
[zhouhh@h185 ~]$ tar zxvf topl.tar.gz
如果目标HBase里有这个表,需disable并drop掉。如果有该目录,则用hadoop fs -rmr /hbase/table的方式删除,再往HDFS上复制。以免数据出错。
放到集群下面
[zhouhh@h185 ~]$ fs -put toplist_ware_total_1009_201232 /hbase[zhouhh@h185 ~]$
此时可以list出来,但scan报错
hbase(main):055:0> list 'toplist_ware_total_1009_201232'TABLEtoplist_ware_total_1009_2012321 row(s) in 0.0220 secondshbase(main):062:0> scan 'toplist_ware_total_1009_201232'ROW COLUMN+CELLERROR: Unknown table toplist_ware_total_1009_201232!
.META.表里面没有相关记录
hbase(main):064:0> scan ‘.META.’
里面没有toplist_ware_total_1009_201232 开头的行
三、修复.META.表和重新分配数据到各RegionServer
在.META.表没修复时执行重新分配,会报错
[zhouhh@h185 ~]$ hbase hbck -fixAssignments...ERROR: Region { meta => null, hdfs => hdfs://h185:54310/hbase/toplist_ware_total_1009_201232/0403552001eb2a31990e443dcae74ee8, deployed => } on HDFS, but not listed in META or deployed on any region server...
先修复.META.表
[zhouhh@h185 ~]$ hbase hbck -fixMeta...ERROR: Region { meta => null, hdfs => hdfs://h185:54310/hbase/toplist_ware_total_1009_201232/0403552001eb2a31990e443dcae74ee8, deployed => } on HDFS, but not listed in META or deployed on any region server12/08/14 18:25:15 INFO util.HBaseFsck: Patching .META. with .regioninfo: {NAME => 'toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8.', STARTKEY => '', ENDKEY => '', ENCODED => 0403552001eb2a31990e443dcae74ee8,}...此时.META.表已经有表的数据了,但scan还是失败hbase(main):065:0> scan '.META.'ROW COLUMN+CELL...toplist_ware_total_1009_201232,,134418709 column=info:regioninfo, timestamp=1344939930752, value={NAME => 'toplist_ware_total_1009_201232,,1344187094829.0403552001eb 4829.0403552001eb2a31990e443dcae74ee8. 2a31990e443dcae74ee8.', STARTKEY => '', ENDKEY => '', ENCODED => 0403552001eb2a31990e443dcae74ee8,}16 row(s) in 0.0550 secondsscan还是失败hbase(main):066:0> scan 'toplist_ware_total_1009_201232'ROW COLUMN+CELLERROR: org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in .META. for region toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8. containing row
重新分配到各分区服务器
[zhouhh@h185 ~]$ hbase hbck -fixAssignments...ERROR: Region { meta => toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8., hdfs => hdfs://h185:54310/hbase/toplist_ware_total_1009_201232/0403552001eb2a31990e443dcae74ee8, deployed => } not deployed on any region server.Trying to fix unassigned region...12/08/14 18:28:01 INFO util.HBaseFsckRepair: Region still in transition, waiting for it to become assigned: {NAME => 'toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8.', STARTKEY => '', ENDKEY => '', ENCODED => 0403552001eb2a31990e443dcae74ee8,}12/08/14 18:28:02 INFO util.HBaseFsckRepair: Region still in transition, waiting for it to become assigned: {NAME => 'toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8.', STARTKEY => '', ENDKEY => '', ENCODED => 0403552001eb2a31990e443dcae74ee8,}12/08/14 18:28:04 INFO util.HBaseFsckRepair: Region still in transition, waiting for it to become assigned: {NAME => 'toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8.', STARTKEY => '', ENDKEY => '', ENCODED => 0403552001eb2a31990e443dcae74ee8,}12/08/14 18:28:05 INFO util.HBaseFsckRepair: Region still in transition, waiting for it to become assigned: {NAME => 'toplist_ware_total_1009_201232,,1344187094829.0403552001eb2a31990e443dcae74ee8.', STARTKEY => '', ENDKEY => '', ENCODED => 0403552001eb2a31990e443dcae74ee8,}...
scan成功!
hbase(main):067:0> scan 'toplist_ware_total_1009_201232'ROW COLUMN+CELL 0000000001 column=info:loginid, timestamp=1344187147972, value=jjm167258611 0000000001 column=info:nick, timestamp=1344187147972, value=?\xE9\x97\xB4?\xE6\xB5\xA3? 0000000001 column=info:score, timestamp=1344187147972, value=200 0000000001 column=info:userid, timestamp=1344187147972, value=167258611...330 row(s) in 0.8630 seconds
如果目标集群是空的,则可以直接将源HBase的/hbase目录复制出来,然后在目标HBase系统上fs -rmr /hbase 或fs -mv /hbase /hbase1
然后用hadoop fs -put hbase / 即可
0 0
- 从源hbase集群中复制出HBase数据库表到本地目录
- 源hbase集群中复制出HBase
- hbase复制表(本地或者跨集群)
- 【hbase】bulkload数据到hbase表中
- 【hbase】bulkload数据到hbase表中
- 从远端数据库复制到本地数据库
- 从hdfs批量导出数据到hbase表中
- 从关系库导入数据到hive-hbase表中
- 从关系库导入数据到hive-hbase表中
- 从hdfs中读取文件到hbase
- 本地如何连接hbase数据库
- sqoop从关系型数据库导数据到hbase
- 从hbase表1中读取数据,最终结果写入到hbase表2 ,如何通过MapReduce实现 ?
- HBASE从入门到精通
- hadoop MR从hbase中读取数据写入到hbase中
- HBase集群
- HBase复制
- HBase中Bytes.compare从90到92的变化
- 鼠标坏了怎么用键盘操作鼠标
- 4个独立按键实现对数码管数字显示的加减清零等
- hdu 1533 Drainage Ditches EK 网络流
- 如何获取干净的的项目源码
- static java
- 从源hbase集群中复制出HBase数据库表到本地目录
- 线性回归问题
- 软工视频总结Part Four
- Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name' at r
- 【Lua】如何利用lua进行热更新
- [参考资料] windows 2008 装 FreeSSHd
- Oracle EBS PO API po_change_api1_s.update_po修改PO行信息
- 经典sql语句
- Dubbo入门