CDH6.2.0 CM(Server)、NameNode被误删,元数据恢复

一、背景

  同事手贱,不小心 执行  rm -rf  /* ,5秒钟内关闭。但是系统基本坏掉 ,cdh直接down机。 ls 、cd、which 、,,,,各种命令用不了。阿里云服务器没有快照。终端连接不上。可以ping通。。。。不说了。没办法。被删除的节点01号机器有sever、agent、Namenode,cdh的元数据库在05号机器、snn在02上(偷偷窃喜,因为cdh为非ha)

只能初始化,重点是怎么把hdfs的数据恢复。妈的。蛋疼。。。。

 

二、操作

1、初始化01节点或者弄一个新节点

2、按cdh安装server节点的方式配置所以的基本操作  

3、在当前节点安装server、agent,并且配置

指向元数据库,具体参考当初新建cdh的元数据库的时候执行scm_prepare_database.sh的时候的配置信息),

我的当初是这样的:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm -hbj-xx.com-05 -uroot -pxxxx123 --scm-host xx-xx.com-01 scm scm scm

01server上执行: vi /etc/cloudera-scm-server/db.properties

vi /etc/cloudera-scm-agent/config.ini

4、配置httpd

yum -y install httpd createrepo
systemctl start httpd && systemctl enable httpd

cd /var/www/html/cm6/6.2.0/ && createrepo .

5、启动server、agent  登录CM

6、关闭所有服务

7、删除绑定的节点(坏了的机器)、remove from。。。

8、添加节点、注意选择自己的本地源

8、安装对应的服务

 

三、元数据恢复

1、关闭hdfs、格式化namenode,删除nn的/dfs/nn/下除了seen_txid和VERSION之外的所有文件,然后从 snn拷贝数据到nn:

scp -r  /dfs/snn/edi* root@xxx.com-01:/dfs/nn/current/ 

scp -r  /dfs/snn/fs* root@xxx.com-01:/dfs/nn/current/

2、修改nn下VERSION blockpoolID为dn上的数据块池id(如BP-2086226209-172..........)

3、修改所有dn上的namespaceID为nn上的namespaceID:

vi /dfs/dn/current/BP-193223033xxxx/current/VERSION 

4.重启集群

 

过程大概就这样吧。。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

潘永青

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值