重新安装cloudera-manager 并接管已有集群

由于数据库数据丢失导致CDH集群无法使用,这时hadoop等集群可能在正常运行  但无法通过cloudera-manager来进行管理,需要重新安装cloudera-manager来接管之前的集群并恢复数据。(有丢数据的风险)

重新安装cloudera-manager 并接管已有集群

解决办法:

关闭service 和 agent服务

保证数据库运营正常

在数据库中重新创建所有库和表

重新安装cloudera-manager

重新安装CDH(集群部署要和之前的保持一直,这是能恢复数据的关键)

 

具体步骤:

  1. 停掉server和所有的agent

        重新安装cloudera-manager 并接管已有集群

  1. 执行脚本 重建数据库

            cd /opt/cloudera-manager/cm-5.3.6/share/cmf/schema/

            ./scm_prepare_database.sh mysql -h n1 -utemp -ptemp --scm-host n1 scm scm scm

            格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server 服务器

重新安装cloudera-manager 并接管已有集群

INFO  Successfully connected to database

执行成功

  1. 启动server和agent并检查日志,这时如果之前的集群处在运行状态,启动时会自动停止之前的所有集群

重新安装cloudera-manager 并接管已有集群

重新安装cloudera-manager 并接管已有集群

  1. 打开cm管理界面,登录后重新安装cdh(关键步骤)

重新安装cloudera-manager 并接管已有集群

 

选择机器(与之前的机器保持一致)

重新安装cloudera-manager 并接管已有集群

 

这里不用修改  直接默认选项

重新安装cloudera-manager 并接管已有集群

 

继续后等待安装完成

重新安装cloudera-manager 并接管已有集群

 

**后点击继续,到这一步后点击左上角返回主页

重新安装cloudera-manager 并接管已有集群

 

安装Activity Monitor,需要为它创建一个数据库,这里选到MySQL去创建数据库

重新安装cloudera-manager 并接管已有集群

创建数据库        create database ACTIVIMONTOR default character set utf8;

重新安装cloudera-manager 并接管已有集群

 

再回到web继续添加Activity Monitor重新安装cloudera-manager 并接管已有集群

 

填写数据库机器,刚刚建好的数据库名称,用户名以及密码  测试连接

如果这里报驱动错误,连接失败,需要把MySQL驱动复制到/usr/share/java/  下并改名 mysql-connector-java.jar(名字必须要改)

重新安装cloudera-manager 并接管已有集群

重新安装cloudera-manager 并接管已有集群

 

连接后一直继续----完成

 

添加服务

重新安装cloudera-manager 并接管已有集群

这里根据情况选择自己之前安装的服务一次进行恢复,以hdfs为例(这里的机器部署尽量和接管的那个集群安装位置完全一直,否则数据可能会恢复不了)
经过测试 SecondaryNameNode、datanode不与接管的集群相同,数据也能恢复,以防外一,所有的配置尽量保持一致。
如果接管的hdfs集群配置了HA, 因为安装时不能直接安装HA模式, 这里namenode安装的机器要选择那个集群第一次安装时的机器(重点)
 
例如接管的集群安装分布如下
namenode1    n1(首次安装的机器)
namonode2    n2(集群安装好后升级到HA配置的机器)
datanode    n1,n2,n3
这时要选择安装到n1上而不是n2
如果这里选错了,可能会导致启动失败并报一下错误
这时需要删掉这个集群重新添加服务
 
重新安装cloudera-manager 并接管已有集群
 
 

重新安装cloudera-manager 并接管已有集群

 

这里根据具体情况修改,如果之前安装的就是默认的那就不用改

重新安装cloudera-manager 并接管已有集群

 

显示格式化失败,是因为之前的集群已经格式化过了,直接返回首页

重新安装cloudera-manager 并接管已有集群

 

选择重启hdfs集群

 

重新安装cloudera-manager 并接管已有集群

所有服务已经正常启动,这里有个警告是因为只安装了两个datanode

重新安装cloudera-manager 并接管已有集群

 

打开webUI验证数据是否完整(之前创建的test目录都还在)

重新安装cloudera-manager 并接管已有集群重新安装cloudera-manager 并接管已有集群

 

5. 恢复HDFS高可用模式(停止服务,修改 JournalNode和namenode目录)

        如果不配置namenode目录会导致linux下无法使用hadoop命令

    重新安装cloudera-manager 并接管已有集群

重新安装cloudera-manager 并接管已有集群

 

启用HA

重新安装cloudera-manager 并接管已有集群

 

配置服务安装的节点(与接管的集群保持一致)--继续  --等待安装完成

重新安装cloudera-manager 并接管已有集群

--继续

重新安装cloudera-manager 并接管已有集群

 

这里 NameNode 格式化失败是正常的,直接继续--完成

重新安装cloudera-manager 并接管已有集群

 

n2已经添加完成

重新安装cloudera-manager 并接管已有集群

 

需要注意的地方:

恢复安装的时候每个服务选择的机器一定要和接管的集群保持一直,否则数据可能无法恢复。