1       情况概述

公司的开发集群在周末莫名其妙的主节点Hadoop-1的启动固态盘挂了,由于CM、HDFS的NameNode、HBase的Master都安装在Hadoop-1,导致了整个集群都无法使用,好在数据不在启动盘。

Hadoop-1的系统必须重装,但是不能重装集群,因为要将之前的数据全部保留恢复,所以只能通过集群恢复的手段将集群重新跑起来。

主要服务角色安装情况:

Hadoop-1:

CM,HDFS( NN,DN ),HBase(HMaster, RegionServer),YARN(NM),Zookeeper

Hadoop-2:

HDFS( SNN,DN ),HBase(HMaster, RegionServer),YARN(RM,NM),Zookeeper

Hadoop-3,Hadoop-4:

HDFS( DN ),HBase(RegionServer),YARN(NM),Zookeeper

说明:在写本文档的时候,出现此问题的研发集群已经恢复完成,但是很遗憾没有留下证据,所以这里利用了一个临时的集群重现该问题,并执行恢复

2       面临的问题

  1. Hadoop-1系统重装后CM必须得重装,那么怎么将其余好的节点重新加入到新的CM。
  2. 新建的NameNode怎么重新使用原来的NameNode的数据,怎么重新管理其余结点的DataNode。

3       恢复记录

3.1   重装系统

最小化安装CentOS 64位系统,

准备好基础环境,恢复到和原来的Hadoop-1一样。

注意要点:

  1. 重新配置Hosts
  2. 重新配置ssh的无密钥登录。
  3. 重新配置时钟服务
  4. 重新配置CentOS,及CM、CDH的网络镜像源
  5. 挂载数据盘到原来的位置

3.2   重装CM

在Hadoop-1中利用CM的引导文件cloudera-manager-installer.bin重装CM服务,剩下的就是界面操作。前面的步骤和搭建新集群一样,以下为截图:

1.

在到这个界面之前的步骤和安装全新集群基本一样的,因此之前的步骤参照集群搭建文档即可,重点就是这个图,这个地方是选择服务角色的安装主机,一定要和之前的集群保持一致

上面这张图是更改后的,根据原来的集群,NameNode在test-hadoop-1上,而SNN在test-hadoop-2上面,每个节点都存在DataNode,至于HBase的配置还是理论上说可以随意(因为它的数据是在HDFS和Zookeeper上只要它俩对了,HBase的数据自然就恢复了。),但是还是建议和原来的保持一致。

Zookeeper要保持和原来一致。

Yarn主要用于计算,其实也可以是随意的,但是它有NM,所以还是建议保持和原来一致

CM,Spark可以配置是可以随意的,因为这两个东西跟我们的数据没太大关系。

接着往下走,

要是安装了要是原来的集群的自定义数据库不再主节点上,则直接在这里指过去使用原来的数据库,否则直接联本地的。

接着往下走,

这一步是重中之重,一定要注意将数据目录指定到原来的集群的数据目录,保持高度一致,对应修改完就可以启动了。

启动后HDFS报错,因为NameNode会去尝试format,但是已经有数据了,所以format失败,那么基本上意味着我们数据恢复成功80%了,我们进入CM的控制界面,重启所服务,要是不出意外,集群修复就完成了。

4       可能的错误

4.1   Zookeeper

若启动时报zookeeper启动异常,

完整日志如下:

这个错是个很奇怪的错,只发生在新建的主节点上,是因为挂载原来的数据盘时,原来的目录及文件的用户及用户组发生了变化,如下:

新建的主节点test-hadoop-1:

原来的数据结点test-hadoop-2:

可以看到在新建的主节点test-hadoop-1中zookeeper的用户和用户组都成了solr,我们只需要将其修改过来就好了。

再次启动zookeeper若报如下错误:

则在对应的节点重启CM的agent

再次启动zookeeper:

其他的权限错误,就不再说了,对照着改就好了。

5       总结

通过这次集群恢复,有以下几点收获,

    1. CM搭建的Hadoop集群中服务和数据是分离的,就算是搭建一个全新的集群,只要将数据目录指定到原来的目录,就可以使用原来的数据。(按理说所有Hadoop集群都是这样。)
    2. 要大胆尝试。因为之前想到集群的主节点都挂了,无法避免重新搭建,数据只能全清空,迫于数据的重要性,在测试集群试验了把新搭集群但是数据目录还是原来的,发现hdfs,hbase,kafka,zookeeper的数据都还是原来的,并没有置空。

CDH集群主节点宕机恢复的更多相关文章

  1. mysql group replication 主节点宕机恢复

    一.mysql group replication 生来就要面对两个问题: 一.主节点宕机如何恢复. 二.多数节点离线的情况下.余下节点如何继续承载业务. 在这里我们只讨论第一个问题.也就是说当主结点 ...

  2. redis集群节点宕机

    redis集群是有很多个redis一起工作,那么就需要这个集群不是那么容易挂掉,所以呢,理论上就应该给集群中的每个节点至少一个备用的redis服务.这个备用的redis称为从节点(slave). 1. ...

  3. Vertica集群单节点宕机恢复方法

    Vertica集群单节点宕机恢复方法 第一种方法: 直接通过admintools -> 5 Restart Vertica on Host 第二种方法: 若第一种方法无法恢复,则清空宕机节点的c ...

  4. 相同版本的CDH集群间迁移hdfs以及hbase

    前言 由于项目数据安全的需要,这段时间看了下hadoop的distcp的命令使用,不断的纠结的问度娘,度娘告诉我的结果也让我很纠结,都是抄来抄去, 还好在牺牲大量的时间的基础上还终于搞出来了,顺便写这 ...

  5. 朝花夕拾之--大数据平台CDH集群离线搭建

    body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...

  6. CDH集群安装&测试总结

    0.绪论 之前完全没有接触过大数据相关的东西,都是书上啊,媒体上各种吹嘘啊,我对大数据,集群啊,分布式计算等等概念真是高山仰止,充满了仰望之情,觉得这些东西是这样的: 当我搭建的过程中,发现这些东西是 ...

  7. CDH集群频繁告警(host频繁swapping)

    最近CDH集群频繁告警,原因是某些host频繁swapping,极大影响了集群的性能. 后来发现有个设置(/proc/sys/vm/swappiness)需要修改,默认值60 Setting the ...

  8. kafka 集群部署 多机多broker模式

    kafka 集群部署 多机多broker模式 环境IP : 172.16.1.35   zookeeper   kafka 172.16.1.36   zookeeper   kafka 172.16 ...

  9. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

随机推荐

  1. 【转】Artificial Neurons and Single-Layer Neural Networks

    原文:written by Sebastian Raschka on March 14, 2015 中文版译文:伯乐在线 - atmanic 翻译,toolate 校稿 This article of ...

  2. Finger Trees: A Simple General-purpose Data Structure

    http://staff.city.ac.uk/~ross/papers/FingerTree.html Summary We present 2-3 finger trees, a function ...

  3. 剑指Offer面试题:18.二叉树的镜像

    一.题目:二叉树的镜像 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像.例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像. 该二叉树节点的定义如下,采用C#语言描述: public c ...

  4. java中文乱码解决之道(七)-----JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language=" ...

  5. [nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)

    蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体 ...

  6. 干货!表达式树解析"框架"(2)

    最新设计请移步 轻量级表达式树解析框架Faller http://www.cnblogs.com/blqw/p/Faller.html 为了过个好年,我还是赶快把这篇完成了吧 声明 本文内容需要有一定 ...

  7. [ASP.NET MVC 小牛之路]08 - Area 使用

    ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,每个Area代表应用程序的不同功能模块.这对于大的工程非常有用,Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Cont ...

  8. Module Zero之语言管理

    返回<Module Zero学习目录> 概览介绍 如何开启 管理语言 管理本地化文本 概览介绍 ABP定义了一个健壮的UI本地化系统,它可用于服务端和客户端.它允许在不同的资源中(Reso ...

  9. Ubuntu 16 安装ElasticSearch

    首先安装Java,参见博客:http://www.cnblogs.com/1zhk/p/6056406.html 下载ElasticSearch安装包 curl -L -O https://artif ...

  10. Mac安装Bower

    1.安装bower,得首先安装node: brew install npm //npm是nodejs的程序包管理器,如果安装过nodejs,可忽略此步. 2.安装Git(因为需要从Git仓库获取一些代 ...