重新安装cloudera-manager 并接管已有集群
由于数据库数据丢失导致CDH集群无法使用,这时hadoop等集群可能在正常运行 但无法通过cloudera-manager来进行管理,需要重新安装cloudera-manager来接管之前的集群并恢复数据。(有丢数据的风险)
解决办法:
关闭service 和 agent服务
保证数据库运营正常
在数据库中重新创建所有库和表
重新安装cloudera-manager
重新安装CDH(集群部署要和之前的保持一直,这是能恢复数据的关键)
具体步骤:
-
停掉server和所有的agent
-
执行脚本 重建数据库
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 服务器
INFO Successfully connected to database
执行成功
-
启动server和agent并检查日志,这时如果之前的集群处在运行状态,启动时会自动停止之前的所有集群
-
打开cm管理界面,登录后重新安装cdh(关键步骤)
选择机器(与之前的机器保持一致)
这里不用修改 直接默认选项
继续后等待安装完成
**后点击继续,到这一步后点击左上角返回主页
安装Activity Monitor,需要为它创建一个数据库,这里选到MySQL去创建数据库
创建数据库 create database ACTIVIMONTOR default character set utf8;
再回到web继续添加Activity Monitor
填写数据库机器,刚刚建好的数据库名称,用户名以及密码 测试连接
如果这里报驱动错误,连接失败,需要把MySQL驱动复制到/usr/share/java/ 下并改名 mysql-connector-java.jar(名字必须要改)
连接后一直继续----完成
添加服务
这里根据具体情况修改,如果之前安装的就是默认的那就不用改
显示格式化失败,是因为之前的集群已经格式化过了,直接返回首页
选择重启hdfs集群
所有服务已经正常启动,这里有个警告是因为只安装了两个datanode
打开webUI验证数据是否完整(之前创建的test目录都还在)
5. 恢复HDFS高可用模式(停止服务,修改 JournalNode和namenode目录)
如果不配置namenode目录会导致linux下无法使用hadoop命令
启用HA
配置服务安装的节点(与接管的集群保持一致)--继续 --等待安装完成
--继续
这里 NameNode 格式化失败是正常的,直接继续--完成
n2已经添加完成
需要注意的地方:
恢复安装的时候每个服务选择的机器一定要和接管的集群保持一直,否则数据可能无法恢复。