hbase表迁移问题汇总

1.首先 在数据源集群进行 hadoop distcp  /src/dir hdfs://mastrnode/tmp/namespace1
 登陆目标集群,将/tmp/namespace1 copy to /hbase/data/ 

2. 登陆到目标集群,切换到hbase用户问题
sudo su - hbase
无法成功切换到hbase用户
more /etc/passwd | grep hbase
hbase:x:981:977:HBase:/var/lib/hbase:/bin/false
此处的false - do nothing, unsuccessfully 不给该用户正常的SHELL,不允许该用户登录
ref: https://zhidao.baidu.com/question/1701705856848537140.html
参考其他用户,准备修改成  hbase:x:981:977:HBase:/var/lib/hbase:/bin/bash
ll /etc/passwd
-rw-r--r-- 1 root root 3082 Aug 28 14:51 /etc/passwd
没有权限编辑,虽然是root用户也无法vim进行编辑,尴尬。
好吧,在此百度/etc/passwd 如何修改/bin/false 成 /bin/base
得到答案: usermod -s /bin/bash hbase
执行之后,咦啥情况
useradd: cannot open /etc/passwd

这就更尴尬了,在此失败,在此百度 : useradd: cannot open /etc/passwd  
ref : http://blog.youkuaiyun.com/slovyz/article/details/40078075
终究是有大招在的,两次失败,事不过三
#lsattr /etc/passwd 
----i-------- /etc/passwd
#chattr -i /etc/passwd
#usermod -s /bin/bash hbase  
在此仍然报错,需要一次修改 chattr -i /etc/passwd ,chattr -i /etc/group,chattr -i /etc/gshadow 
ref :http://blog.youkuaiyun.com/slovyz/article/details/40078075
我就直接vim /etc/passwd 了,虽然low了点,但是省了麻烦。
# lsattr /etc/passwd
-------------e-- /etc/passwd

试问哪个不能改,哪个权限不够,神挡我绕着走,佛挡我爬着走,谁能挡我。
别忘了修改回来 chattr +i /etc/passwd 
ref : http://www.cnblogs.com/yangxia-test/archive/2013/05/24/3096410.html
3. 之后执行 hbase hbck -repair  ref:  http://blog.youkuaiyun.com/mtj66/article/details/77941912
一直等待 
util.HBaseFsckRepair: Region still in transition, waiting for it to become assigned: {ENCODED => f527e8ff13b5ca0dc67d43c82f05863f, NAME =>.....
 } failed to move out of transition within timeout 120000ms

好吧,检查目标表的权限,以及用户组
drwxr-xr-x   - hbase hbase          0 2017-09-09 14:58 /hbase/data/default
drwxr-xr-x   - hbase hbase          0 2017-09-06 15:23 /hbase/data/hbase
drwxr-xr-x   - hbase hbase          0 2017-09-18 16:17 /hbase/data/test
drwxr-xr-x   - hdfs  hbase          0 2017-09-18 16:19 /hbase/data/namespace1
你怎么和别人不一样,修改下用户组
hdfs dfs -chown -R  hbase:hbase /hbase/data/namespace1
在此执行 步骤3
成功得到整个namespace1下的所有表

====================追加 ===================== 
再次迁移的过程中,迁移数据到已经存在的hbase表,执行步骤同上,hbase hbck -repair ,list 已经有表信息,然后scan 表失败
ERROR: Unknown table tableName
尝试更新hbase META信息
 
先修复.META.表:
hbase hbck -fixMeta
这样scan'.META.'就能发现里面有test的信息,在执行scan,查看。
如果依然失败:
hbase hbck -fixAssignments(重新分区)


到此结束!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mtj66

看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值