Fayson的github: https://github.com/fayson/cdhproject
推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f
1 文档编写目的
Fayson在两年前的文章中介绍过CDH的卸载,参考《0008-如何卸载CDH(附一键卸载github源码)V1.2》和《0609-6.1.0-如何卸载CDH6.1》。除非你是使用Cloudera官方提供的一键安装脚本安装的CDH,否则并没有现成的一键卸载的脚本供使用。
为了更好的理解CDH的卸载,这里再次简单介绍一下CDH的安装,CDH的安装分为Cloudera Manager或Agent的安装以及CDH的Parcel的安装,Manager和Agent我们一般是使用rpm安装的,而CDH的安装则使用Parcel。我们在卸载CDH的时候一般会先从Cloudera Manager里停止集群,删除集群,以及移除所有相关的Parcel;然后在各台机器移除Cloudera Manager和Agent相关的rpm以及安装的依赖包;最后删除各台机器上与CDH相关的目录,要理解CDH的各个安装目录,可以参考Fayson之前的文章《0509-深入分析CDH的安装目录》。本文Fayson主要介绍如何卸载Cloudera Manager6.2以及CDH6.2。
- 测试环境
1.Redhat7.4
2.采用root用户操作
3.CM/CDH6.2
2 第一标题用户数据备份
2.1 备份HDFS数据
常见的备份HDFS数据有如下办法:
1.使用distcp将数据拷贝到另外一个Hadoop集群。
2.将数据拷贝到其他存储设备。
3.将数据分批导出到各台主机的各个磁盘上
以上三种方法你也可以只使用于关键数据,具体使用哪种方法,大家根据自己集群的规模和数据量大小可以具体选择。
2.2 备份NameNode元数据
1.登录到Active NameNode节点,将HDFS进入安全模式,并且将所有edits修改都flush到fsimage。
#因为集群启用了Kerberos,所以需要使用HDFS的keytab登录到hdfs用户才能执行管理员相关的操作
[root@ip-172-31-6-83 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: hdfs/ip-172-31-6-83.ap-southeast-1.compute.internal@FAYSON.COM
Valid starting Expires Service principal
05/05/2019 10:29:04 05/06/2019 10:29:04 krbtgt/FAYSON.COM@FAYSON.COM
renew until 05/10/2019 10:29:04
#进入safemode模式
[root@ip-172-31-6-83 ~]# hdfs dfsadmin -safemode enter
Safe mode is ON
#将所有edits修改flush到fsimage
[root@ip-172-31-6-83 ~]# hdfs dfsadmin -saveNamespace
Save namespace successful
2.将NameNode元数据进行备份,根据自己集群NameNode目录进行如下操作:
[root@ip-172-31-6-83 ~]# mkdir namenode_back
You have new mail in /var/spool/mail/root
[root@ip-172-31-6-83 ~]# cd namenode_back/
[root@ip-172-31-6-83 namenode_back]# tar czvf nn_bak.tar.gz /dfs/nn/*
2.3 备份MySQL元数据
[root@ip-172-31-6-83 ~]# mkdir mysql_back
[root@ip-172-31-6-83 ~]# cd mysql_back
#-u后面是mysql用户名,-p单引号中是用户对应的密码,metastore为库名,metastore.sql为备份输出文件
[root@ip-172-31-6-83 mysql_back]# mysqldump -uroot -p'123456' metastore > metastore.sql
[root@ip-172-31-6-83 mysql_back]# mysqldump -uroot -p'123456' cm > cm.sql
[root@ip-172-31-6-83 mysql_back]# mysqldump -uroot -p'123456' rm > rm.sql
#执行完成后,产生如下sql文件
[root@ip-172-31-6-83 mysql_back]# ll
total 4