hadoop从节点linux系统崩溃数据恢复实记

        在工作中,虽然遇到linux系统崩溃的几率不高,但是万一遇到了就十分棘手,对于hadoop集群单个节点崩溃来说,一般不会导致数据块的丢失,直接重做系统,换个磁盘,数据也会自动恢复,但是你遇到数据块丢失的情况么?例如:有一个表的数据备份设置为1份,或者很不幸多个主机系统同时崩溃就会导致数据块丢失!很不幸,博主在前些日子就遇到linux系统崩溃,而且有部分数据备份只有1份,更不幸的是2台主机同时崩溃,最最不幸的是我们集群数据默认保存只有2份,不用想了,肯定丢了大量的数据块。

        不知道大家在工作中遇到系统的安全扫描没有,这种实在是坑爹的事情,一个稍有不慎,就可能会导致系统的崩溃甚至无法使用,前阵子在进行linux系统漏洞升级时,不幸导致2台主机系统同时崩溃,产生大量数据块的丢失,以下为恢复实记!

        第一,重新安装linux系统,和原系统保持一致,并把原磁盘数据挂载在对应目录下,下面步骤都是集群新添加节点步骤。

        第二,修改网络IP,修改hostname,并与主节点配置ssh免密登录,常规操作,在此不一一细述!

        第三,java安装,卸载主机自带JDK,安装版本与集群主节点java版本保持一致,安装路径保持一致。

        第四,关闭防火墙和selinux,该位置不关闭可能会影响该主机数据读取,注意使用root权限进行关闭,否则可能会导致关闭失败,导致数据恢复后执行sql进行查询表时提示数据块的丢失,但使用hadoop fsck /命令查看集群是否有块丢失时发现集群无丢失块(本人亲历)。

        第五,如配置有NTP服务,配置NTP,如无,请跳过。

        第六,安装与主节点版本相同的cloudera manager agent(本集群使用CM搭建),并安装在对应目录下,可参考主节点进行安装,并修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名,具体路径可参考实际安装路径。

        第七,创建cloudera-scm用户(根据实际情况修改):

        useradd --system --home=/opt/cm-5.1.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

        第八,通过浏览器访问主节点的7180端口,登录CM管理界面,在“集群”>“主机”管理界面下,把该主机从集群中删除。

        第九,启动Agent服务, /opt/cm-5.1.3/etc/init.d/cloudera-scm-agent start 启动Agent服务。

        第十,通过浏览器访问主节点的7180端口,登录CM管理界面,在“集群”>“主机”>"向集群添加新主机",找到该主机并添加至集群,执行完毕后给该主机添加DataNode功能以及nodemanager功能,配置DataNode存储目录为原数据盘存放目录。

        第十一,修改目录权限,使用ls -l 命令查看dfs数据存储目录权限你会发现异常,因系统重做之后已无hadoop,hdfs等用户,修改该目录以及子目录权限。

            修改dfs数据存储目录权限(本系统目录设置为/data/dfs/dn):

            chmod 755 /data/dfs/dn -R

            chown hdfs:hadoop /data/dfs/dn -R

            修改yarn目录权限:

            sudo chmod 755 /data/yarn/nm -R

            sudo chown yarn:hadoop /data/yarn/nm -R

            第十二,登录CM管理界面,启动该主机DataNode与nodemanager功能,这是你会发现CM管理界面已显示主机功能已经正常启动,集群数据正常,无损坏块,如果之前集群因丢失数据一直处于安全模式的话,此时已自动跳转为正常模式,登录任一节点使用hadoop fsck / 命令查看集群中有无损坏块,你会发现集群很健康,对!到此该主机数据已完美恢复了!

           纯手工敲打,谢谢你的观看和评论,如有不足请及时指出!

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值