**
一、停止regionserver进程的自启脚本
在192.168.96.1 ndka0102主机上修改文件,
vim /home/ocdp/manager/maintenance/hbase/killwailkingdead.sh,在脚本的第二行添加exit
再同步到其它主机
在96.1主机用ocdp用户先cd到家目录,再执行以下命令(先输入for再按 PgUp键就可以从history中找出历史记录)就可以把文件同步到其它主机
二.准备恢复meta需要用的脚本和jar包
在192.168.96.1主机的/home/ocdp/manager/maintenance/hbase_repair目录下,mkdir一个新目录(举例:1010),然后把0915目录下的所有文件都拷贝到新目录。
三、导出hbsae所有表的表名
使用hbase shell的list命令导出(list出来之后需要去掉namespace名字,只保留表名)
hbase shell <<< list > hbase.list
也可以从hdfs的目录导出所有表名
hdfs dfs -fs hdfs://ndkns1 /apps/hbase/data/data/cloud > hbase.list
hdfs dfs -fs hdfs://ndkns1 /apps/hbase/data/data/idc > hbase.list
四.修改hbase的配置
在ambari中,修改hbase的配置zookeeper.znode.parent,比如修改成/hbase-secure-20201010
五.修改文件
在192.168.96.1的/home/ocdp/manager/maintenance/hbase_repair/1010/目录下,
修改configuarion.properties
五.停掉hbase集群
六.mv hbase的data数据
挪hbase对应的hdfs目录
Mv hbase 对应的hdfs目录
ls一下看看还有没有/apps/hbase/data
七.启动hbase集群
八.创建namespace
1. 在hbase shell创建需要修复表所在的表空间
a. create_namespace “
b. 示例: create_namespace ‘cloud’; create_namespace ‘idc’
2. 设置命名空间所在的HDFS目录为 RS-10-2-1024k
a. hdfs ec -setPolicy -policy RS-10-2-1024k -path
九.迁移hdfs上hbase的数据
迁移cloud和idc的数据
迁移cloud的数据时先打开DEBUG
十.修复meta
启动修复脚本
十一.观察修复进度
生成的nohup.out文件不再变化时就是修复完成了
十二.修复完之后重启hbase集群
十三.把新的hbase-site.xml文件发给应用侧
把新的hbase-site.xml文件放到172.30.190.132上的/tmp/目录下,用udpi用户,密码NoKiA@#2019
十四.把regionserver自动启动脚本还原
十五.删除zk中老的数据(刚用完的这个不要删除,删除更老的数据)
到hbase master所在节点,用hbase的keytab hbase.service.keytab认证,再登录zk删除zk中的旧数据