原因:因为主机扩容内存重启以后发现有七台服务器无法进入系统,重启之前Centos7的启动项被修改过导致无法重启,只能重新安装操作系统,但是HDFS的数据是保存到data盘中.
系统OS:CentOS Linux release 7.6.1810 (Core)
CDH版本:6.2.1
重新安装操作系统的服务器
10.170.12.43 db-pro-datanode-12-43
10.170.12.42 db-pro-datanode-12-42
10.170.12.41 db-pro-datanode-12-41
10.170.12.40 db-pro-datanode-12-40
10.170.12.39 db-pro-datanode-12-39
10.170.12.38 db-pro-datanode-12-38
10.170.12.37 db-pro-datanode-12-37
无法重启后的故障:
scm-server正常
CDH元数据库分离的正常
一、停掉所有的服务
systemctl stop cloudera-scm-server
systemctl stop cloudera-scm-agent
二、mysql scm库数据库备份更改主机名
cat /etc/hosts
10.170.12.36 db-pro-namenode-12-36
10.170.12.37 db-pro-namenode-12-37
10.170.12.38 db-pro-datanode-12-38
10.170.12.39 db-pro-datanode-12-39
10.170.12.40 db-pro-datanode-12-40
10.170.12.41 db-pro-datanode-12-41
10.170.12.42 db-pro-datanode-12-42
10.170.12.43 db-pro-datanode-12-43
10.170.12.44 db-pro-datanode-12-44
10.170.12.45 db-pro-datanode-12-45
因为原主机名不规范,要规范主要机,所以mysql库里面需要把主要机重新改掉
update HOSTS set name='db-pro-namenode-12-36' where host_id=1;
update HOSTS set name='db-pro-namenode-12-37' where host_id=2;
update HOSTS set name='db-pro-datanode-12-38' where host_id=3;
update HOSTS set name='db-pro-datanode-12-39' where host_id=4;
update HOSTS set name='db-pro-datanode-12-40' where host_id=5;
update HOSTS set name='db-pro-datanode-12-41' where host_id=6;
update HOSTS set name='db-pro-datanode-12-42' where host_id=7;
update HOSTS set name='db-pro-datanode-12-43' where host_id=8;
update HOSTS set name='db-pro-datanode-12-44' where host_id=9;
update HOSTS set name='db-pro-datanode-12-45' where host_id=10;
三、备份修复前的主机角色分配备份scm角色安装的到哪几个节点
备份db-pro-namenode-12-37上安装的角色
备份db-pro-namenode-12-38上安装的角色
备份db-pro-namenode-12-39上安装的角色
备份db-pro-namenode-12-40上安装的角色
备份db-pro-namenode-12-41上安装的角色
备份db-pro-namenode-12-42上安装的角色
备份db-prp-namenode-12-43上安装的角色
四、移除那几台主机的角色
1.移除hive角色
2.移除hue角色
3.移除oozie
4.移除yarn(同上)
5.移除hdfs(同上)
6.移除zk(同上)
五、重新安装好的服务器要加入集群
1.做免密
2.环境配置要和原来的集群保持一致
3.添加服务器角色,注意每台服务器分配的角色要和原来的保持一致(操作步骤和安装是一样的)
六、报错处理
1.报错信息1:Journal Storage Directory /hdfs/jn/nameservice1 not formatted,主要是因为其他两台没有jn的nameservice1中的文件信息
解决方案: 1.登录12.36操作如下
cd /hdfs/jn
tar -cvf nameservice1.tar.gz nameservice1/
scp nameservice1.tar.gz db-pro-namenode-12-37:/hdfs/jn/
scp nameservice1.tar.gz db-pro-datanode-12-38:/hdfs/jn/
登录12.37操作
cd /hdfs/jn
tar -xvf nameservice1.tar.gz
登录12.38操作
cd /hdfs/jn
tar -xvf nameservice1.tar.gz cd /hdfs/jn
tar -xvf nameservice1.tar.gz
重启HDFS的JN和NN服务以后Namenode报错变成了以下报错 Cannot find any valid remote NN to service request!
出现以上问题的主要原因是因为原来更改了主机名,导致zk中的驻留信息还是以前的老服务器的名称 解决方案如下:
找一台namenode节点对zk进行格式化
sudo su - hdfs
hdfs zkfc -formatZK
七、重启所有的服务后,HDFS两个Namenode服务从两个备用变成了一个活动一个备用了,恢复了正常
八、其他角色也可以正常使用了,测试hive可以正常查询.
九、总结
1.要多看报错的内容,根据报错的内容一步步的修复
2.保证有一台namenode是可用的
3.保证各个组件的元数据库是正常使用的.
4.修复的时候要胆大心细,操作之前要写好操作方案去实施,不然思路上不清晰,修复起来会出现各种问题
5.修复之前要针对元数据库和组件分布到各个主机上要做好备份
标签:12,10.170,重装系统,导致系统,db,datanode,namenode,CDH,pro From: https://blog.csdn.net/weixin_43566162/article/details/140746503