10.CM与CDH的卸载

10.1 实验内容环境介绍

  • 基于CDH使用parcels安装且未配置安全(AD/LDAP, Kerberos, Data Encryption)的集群
  • 测试环境:
    • 操作系统版本:CENTOS6.5
    • MySQL数据库版本为5.1.73
    • CM版本:CM 5.11
    • CDH版本:CDH 5.11
    • 采用root或有sudo权限用户对集群进行卸载

10.2 数据备份

10.2.1 HDFS数据备份

  • 使用distcp进行集群之间数据复制进行HDFS数据备份,备份操作如下:
hadoop distcp hftp://namenodeA:port/xxx/  hdfs://namenodeB/xxx
  • 此命令需运行在目标集群中执行,确保目标集群空间足够,以上数据目录根据自己集群的真实环境做相应的修改;
    • namenodeA:源集群namenode节点ip地址
    • port:源集群端口,默认50070
    • namenodeB:目标集群namenode节点ip地址
    • xxx:对应hdfs的数据目录
  • namenode节点元数据备份
    • 登录namenode服务器上,进行如下操作:
#进入safemode模式
[root@ip-172-31-3-217 ~]# sudo -u hdfs hadoop dfsadmin  -safemode enter
DEPRECATED: Use of this script to execute hdfs command is  deprecated.
Instead use the hdfs command for it.

Safe mode is ON
#将所有edits修改flush到fsimage
[root@ip-172-31-3-217 ~]# sudo -u hdfs hadoop dfsadmin –saveNamespace
DEPRECATED: Use of this script to execute hdfs command is  deprecated.
Instead use the hdfs command for it.

Save namespace successful
  • 将namenode元数据备份,根据集群namenode目录进行如下操作:
[root@ip-172-31-3-217 ~]# mkdir namenode_back
[root@ip-172-31-3-217 ~]# cd namenode_back/
[root@ip-172-31-3-217 ~]# cd /dfs/nn/
#将nn目录下所有文件压缩至/root/namenode_back/nn_back.tar.gz目录下
[root@ip-172-31-3-217 nn]# tar -czvf  /root/namenode_back/nn_back.tar.gz .
./
./current/
./current/fsimage
./current/fstime
./current/VERSION
./current/edits
./image/
./image/fsimage

10.2.2 备份MySQL元数据

  • 在Mysql安装的服务器上,执行如下操作,备份hive元数据信息
[root@ip-172-31-3-217 ~]# mkdir mysql_back
[root@ip-172-31-3-217 ~]# cd mysql_back
#-u后面是mysql用户名,-p单引号中是用户对应的密码,metastore为库名,metastore.sql为备份输出文件
[root@ip-172-31-3-217 mysql_back]# mysqldump -uroot  -p'mysql' metastore > metastore.sql
[root@ip-172-31-3-217 mysql_back]# mysqldump -uroot  -p'mysql' cm > cm.sql
[root@ip-172-31-3-217 mysql_back]# mysqldump -uroot  -p'mysql' am > am.sql
[root@ip-172-31-3-217 mysql_back]# mysqldump -uroot  -p'mysql' rm > rm.sql
#执行完成后,产生如下sql文件
[root@ip-172-31-3-217 mysql_back]# ll
total 36452
-rw-r--r-- 1 root root   2074077 May 30 02:39 am.sql
-rw-r--r-- 1 root root 35182945 May 30 02:39 cm.sql
-rw-r--r-- 1 root root     54030 May 30 02:36 metastore.sql
-rw-r--r-- 1 root root      7542 May 30 02:39 rm.sql
  • 如果有hue,sentry,Navigator数据库可以同样备份

10.2.3 备份CDH集群配置数据

  • 通过CM提供的API接口,导出一份JSON文档,该文档包含Cloudera 管理器实例的配置数据,可以通过这份JSON文档备份或恢复Cloudera管理器的部署。
  • 备份集群配置数据
    • 登录到CM所在服务器
    • 运行如下命令:
[root@ip-172-31-3-217 ~]# curl -u  admin_username:admin_pass  "http://cm_server_host:7180/api/v16/cm/deployment" > path_to_file/cm-deployment.json
  • admin_username: 登录到ClouderaManager的用户名
  • admin_pass: 对应admin_username用户的密码
  • cm_server_host: 是ClouderaManager服务器的主机名
  • path_to_file: 保存配置文件的路径
    • 将上述提到的四个参数修改当前集群对应的信息即可

10.2.3.1 恢复集群配置数据

  • 此功能只有Cloudera许可证才可以使用
  • 首先进入Cloudera Manager管理平台,进入如下操作


  • 如果在进行API调用操作之前未停止集群,那么API调用将在运行作业之前停止所有集群服务,任何运行的作业和数据都会丢失。
  • 登录到CM所在的服务器,执行如下命令
curl --upload-file path_to_file/cm-deployment.json -u  admin_uname:admin_pass http://cm_server_host:7180/api/v16/cm/deployment?deleteCurrentDeployment=true
  • admin_uname: 登录到ClouderaManager的用户名
  • admin_pass: 对应admin_uname用户的密码
  • cm_server_host: 是ClouderaManager服务器的主机名
  • path_to_file:JSON配置文件的路径

10.2.4 数据目录备份

  • Zookeeper数据目录备份
    • 备份所有Zookeeper服务器的数据目录,以172.31.3.217为例操作如下:
[root@ip-172-31-3-217 ~]# mkdir zookeeper_back
[root@ip-172-31-3-217 ~]# scp -r /var/lib/zookeeper/  /root/zookeeper_back/zookeeper_1
  • 备份用户数据目录
    • 如需备份相关组件数据,可参考【Zookeeper数据目录备份】进行数据备份。
    • 以下路径为Cloudera默认安装目录下个组件用户数据:
/var/lib/flume-ng
/var/lib/hadoop*
/var/lib/hue
/var/lib/navigator
/var/lib/oozie
/var/lib/solr
/var/lib/sqoop*
/var/lib/zookeeper   #同步数据
#data_driver_path为集群环境部署时设置的目录,根据自己环境进行调整
data_drive_path/dfs
data_drive_path/mapred
data_drive_path/yarn

10.3 停止所有服务和删除集群

  • 登陆CM控制台
  • 停止CDH集群



  • 停止CM Service



10.3.1 解除并移除Parcels

  • 在CM管理界面



  • 选择【仅限停用状态】


  • 停用后,状态变为“”,点击“”旁菜单,选择“从主机删除”
    • 删除成功后显示如下


10.3.2 删除集群

  • 进入CM主页


  • 删除成功后显示如下


10.4 卸载CM Server

  • 停止CM Server和数据库
    • 在集群master服务器上执行如下命令
[root@ip-172-31-3-217 ~]# service cloudera-scm-server  stop
#如果使用内置db  postgresql需要停止该服务,没有则忽略
[root@ip-172-31-3-217 ~]# service cloudera-scm-server-db  stop
  • 卸载CM Server和数据库
    • 使用yum卸载cloudera-scm-server和cloudera-scm-server-db-2,命令如下
[root@ip-172-31-3-217 ~]# yum remove  cloudera-manager-server
#如果使用内置db  postgresql需要移除该服务,没有则忽略
[root@ip-172-31-3-217 ~]# yum remove  cloudera-manager-server-db-2
  • 卸载CM Agent和Managed Software
    • 在所有服务器上使用如下命令停止Cloudera Manager Agent 服务
[root@ip-172-31-3-217 ~]# sudo service cloudera-scm-agent  hard_stop

10.5 卸载软件

  • 在集群所有节点执行如下操作:
[root@ip-172-31-3-217 ~]# yum remove 'cloudera-manager-*'  avro-tools crunch flume-ng hadoop-hdfs-fuse hadoop-hdfs-nfs3 hadoop-httpfs  hadoop-kms hbase-solr hive-hbase hive-webhcat hue-beeswax hue-hbase  hue-impala hue-pig hue-plugins hue-rdbms hue-search hue-spark hue-sqoop  hue-zookeeper impala impala-shell kite llama mahout oozie pig pig-udf-datafu  search sentry solr-mapreduce spark-core spark-master spark-worker  spark-history-server spark-python sqoop sqoop2 whirr hue-common oozie-client  solr solr-doc sqoop2-client zookeeper
  • 运行清除命令
    • 在集群所有节点执行如下操作:
[root@ip-172-31-3-217 ~]# yum clean all
  • 移除CM和用户数据
    • 杀死 CM和Managed进程
    • 在集群所有节点执行如下操作,将所有服务器的Cloudera Manager和Managed进程杀死,命令如下:
for u in cloudera-scm flume hadoop hdfs hbase hive httpfs  hue impala llama mapred oozie solr spark sqoop sqoop2 yarn zookeeper;
do
    sudo kill $(ps  -u $u -o pid=);
done
  • 移除CM数据
    • 在集群所有节点执行如下命令,删除所有CM数据
umount cm_processes

rm –rf /usr/share/cmf  /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera*  /var/log/cloudera* /var/run/cloudera* /etc/cloudera* /usr/lib64/cmf
  • 移除CM Lock File
    • 在集群中所有节点执行如下命令,删除CM Lock File
rm –rf /tmp/.scm_prepare_node.lock
  • 移除用户数据
    • 此步骤将永久删除所有用户数据。为了备份数据,在启动卸载过程之前,使用distcp命令将其复制到另一个集群中。在集群中所有节点执行如下命令,删除用户所有数据:
#用户数据目录
rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue  /var/lib/navigator /var/lib/oozie /var/lib/solr /var/lib/sqoop*  /var/lib/zookeeper

rm -rf /usr/lib/hadoop /usr/lib/hadoop* /usr/lib/hive  /usr/lib/hbase /usr/lib/oozie /usr/lib/sqoop* /usr/lib/zookeeper  /usr/lib/bigtop* /usr/lib/flume-ng /usr/lib/hcatalog

rm -rf /var/run/hadoop* /var/run/flume-ng  /var/run/cloudera* /var/run/oozie /var/run/sqoop2 /var/run/zookeeper  /var/run/hbase /var/run/hbase /var/run/impala /var/run/hive  /var/run/hdfs-sockets

#服务命令
rm -rf /usr/bin/hadoop* /usr/bin/zookeeper*  /usr/bin/hbase* /usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn  /usr/bin/sqoop* /usr/bin/oozie

#集群配置文件目录
rm -rf /etc/cloudera* /etc/hadoop* /etc/zookeeper*  /etc/hive* /etc/hue /etc/impala /etc/sqoop* /etc/oozie /etc/hbase*  /etc/hcatalog

#集群配置文件目录
rm -rf /etc/alternatives/avro-tools  /etc/alternatives/beeline /etc/alternatives/catalogd /etc/alternatives/cli_*  /etc/alternatives/flume* /etc/alternatives/hadoop* /etc/alternatives/hbase*  /etc/alternatives/hcat /etc/alternatives/hdfs /etc/alternatives/hive*  /etc/alternatives/hue* /etc/alternatives/impala* /etc/alternatives/llama*  /etc/alternatives/load_gen /etc/alternatives/mahout* /etc/alternatives/mapred  /etc/alternatives/oozie* /etc/alternatives/pig* /etc/alternatives/pyspark  /etc/alternatives/sentry* /etc/alternatives/solr* /etc/alternatives/spark*  /etc/alternatives/sqoop* /etc/alternatives/statestored  /etc/alternatives/whirr /etc/alternatives/yarn /etc/alternatives/zookeeper*
#
rm -rf /var/lib/alternatives/avro-tools  /var/lib/alternatives/beeline /var/lib/alternatives/catalogd  /var/lib/alternatives/cli_* /var/lib/alternatives/flume*  /var/lib/alternatives/hadoop* /var/lib/alternatives/hbase*  /var/lib/alternatives/hcat /var/lib/alternatives/hdfs  /var/lib/alternatives/hive* /var/lib/alternatives/hue* /var/lib/alternatives/impala*  /var/lib/alternatives/llama* /var/lib/alternatives/load_gen  /var/lib/alternatives/mahout* /var/lib/alternatives/mapred  /var/lib/alternatives/oozie* /var/lib/alternatives/pig*  /var/lib/alternatives/pyspark /var/lib/alternatives/sentry*  /var/lib/alternatives/solr* /var/lib/alternatives/spark*  /var/lib/alternatives/sqoop* /var/lib/alternatives/statestored  /var/lib/alternatives/whirr /var/lib/alternatives/yarn  /var/lib/alternatives/zookeeper*

#请修改 data_drive_path 为自己机器上的路径
rm -rf data_drive_path/dfs data_drive_path/mapred  data_drive_path/yarn
#删除Hadoop相关服务安装目录、服务软件包数据,数据格式为parcels、服务软件包缓存数据
rm -rf /opt/cloudera/
  • 停止并移除外部数据库,在安装mysql的服务器上进行操作,操作如下:
service mysqld stop 
  • 卸载mysql数据库,操作如下:
yum remove mysql*
  • 删除mysql数据目录,操作如下:
rm –rf /var/lib/mysql

大数据视频推荐:
腾讯课堂
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容