0008-如何卸载CDH(附一键卸载github源码)

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.前置条件

本文档将介绍Cloudera Manager与CDH的卸载,并基于CDH使用parcels安装且未配置安全(AD/LDAP, Kerberos, Data Encryption)的集群,以下是本次测试环境,但不是本操作手册的硬限制:

1.操作系统版本:CENTOS6.5

2.MySQL数据库版本为5.1.73

3.CM版本:CM 5.11

4.CDH版本:CDH 5.11

5.采用root或有sudo权限用户对集群进行卸载

2.用户数据备份

2.1备份HDFS数据

  • 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模式

[[email protected] ~]# sudo -u hdfs hadoop dfsadmin  -safemode ente

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

[[email protected] ~]# 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目录进行如下操作:

[[email protected] ~]# mkdir namenode_back
[[email protected] ~]# cd namenode_back/
[[email protected] ~]# cd /dfs/nn/
#将nn目录下所有文件压缩至/root/namenode_back/nn_back.tar.gz目录下
[[email protected] nn]# tar -czvf  /root/namenode_back/nn_back.tar.gz .
./
./current/
./current/fsimage
./current/fstime
./current/VERSION
./current/edits
./image/
./image/fsimage

2.2备份MySQL元数据

  • 在Mysql安装的服务器上,执行如下操作,备份hive元数据信息

注:如果有hue,sentry,Navigator数据库可以同样备份

2.3备份CDH集群配置数据

通过Cloudera Manager提供的API接口,导出一份JSON文档,该文档包含Cloudera 管理器实例的配置数据,可以通过这份JSON文档备份或恢复Cloudera管理器的部署。

  • 备份集群配置数据
  • 登录到Cloudera Manager所在服务器
  • 运行如下命令:
[[email protected] ~]# 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: 保存配置文件的路径

将上述提到的四个参数修改当前集群对应的信息即可

导出截图:

  • 恢复集群配置数据

注意:此功能只有Cloudera许可证才可以使用

1.首先进入Cloudera Manager管理平台,进入如下操作

注意:如果在进行API调用操作之前未停止集群,那么API调用将在运行作业之前停止所有集群服务,任何运行的作业和数据都会丢失。

2.登录到Cloudera Manager所在的服务器

3.执行如下命令

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配置文件的路径

2.4Zookeeper数据目录备份

  • 备份所有Zookeeper服务器的数据目录,以172.31.3.217为例操作如下:
[[email protected] ~]# mkdir zookeeper_back

[[email protected] ~]# scp -r /var/lib/zookeeper/ /root/zookeeper_back/zookeeper_1

2.5备份用户数据目录

以下路径为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

如需备份相关组件数据,可参考2.4进行数据备份。

3.停止所有服务

3.1打开Cloudera Manager控制台

3.2关闭集群

停止CDH集群,如下图所示操作

点击确认操作,如下图所示

等待所有服务器停止操作成功,如下图所示

3.3关闭Cloudera Management Service

停止Cloudera Manager Service,如下图所示

点击确认对话框,如下图所示

等待服务停止成功,如下图所示

4.解除并移除Parcels

在Cloudera Manager管理界面,进行如下操作

点击上图标识功能,进入如下界面

点击上图标识,选择【仅限停用状态】,点击【确定】

停用后,状态变为“激活”,如下图所示

点击“激活”旁菜单,选择“从主机删除”,如下图所示

点击确认,如下图所示

删除成功后显示如下

5.删除集群

点击Clouder Manager进入主页,如下图所示

删除集群,如下操作

点击“删除”操作,如下图所示

删除成功后显示如下

6.卸载Cloudera Manager Server

6.1停止Cloudera Manager Server和数据库

在集群master服务器上执行如下命令

[[email protected] ~]# service cloudera-scm-server stop

#如果使用内置db postgresql需要停止该服务,没有则忽略

[[email protected] ~]# service cloudera-scm-server-db stop

6.2卸载Cloudera Manager Server和数据库

使用yum卸载cloudera-scm-server和cloudera-scm-server-db-2,命令如下

[[email protected] ~]# yum remove cloudera-manager-server

#如果使用内置db postgresql需要移除该服务,没有则忽略

[[email protected] ~]# yum remove cloudera-manager-server-db-2

7.卸载Cloudera Manager Agent和Managed Software

在集群所有的机器上进行如下操作,卸载Cloudera Manager Agent 和Managed Software。

7.1停止Cloudera Manager Agent

在所有服务器上使用如下命令停止Cloudera Manager Agent 服务

[[email protected] ~]# sudo service cloudera-scm-agent hard_stop

7.2卸载软件

在集群所有节点执行如下操作:

[[email protected] ~]# 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

7.3运行清除命令

在集群所有节点执行如下操作:

[[email protected] ~]# yum clean all

8.移除Cloudera Manager和用户数据

8.1杀死 Cloudera Manager和Managed进程

在集群所有节点执行如下操作,将所有服务器的Cloudera Manager和Managed进程杀死,命令如下:

8.2移除Cloudera Manager数据

在集群所有节点执行如下命令,删除所有Cloudera Manager数据

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

8.3移除Cloudera Manager Lock File

在集群中所有节点执行如下命令,删除Cloudera Manager Lock File

rm –rf /tmp/.scm_prepare_node.lock

8.4移除用户数据

此步骤将永久删除所有用户数据。为了备份数据,在启动卸载过程之前,使用distcp命令将其复制到另一个集群中。在集群中所有节点执行如下命令,删除用户所有数据:

8.5停止并移除外部数据库

在安装mysql的服务器上进行操作。

  • 停止mysql数据库,操作如下:
service mysqld stop
  • 卸载mysql数据库,操作如下
yum remove mysql*
  • 删除mysql数据目录,操作如下
rm –rf /var/lib/mysql

9.一键卸载脚本说明(GitHub地址)

  • 卸载脚本说明:

autouninstall.sh:自动卸载脚本

components.list:集群所有安装的组件列表

delete.list:需要删除的目录列表,列表中已配置大部分CDH安装默认目录,用户需要对列表末尾的hdfs目录根据自己集群环境进行目录进行相应调整,如下图所示:

node.list:集群所有节点,根据集群环境进行节点配置

user.list:集群所有组件安装时所使用的用户名

  • 脚本使用

注:脚本是在第五步操作完成后,在namenode节点进行一键卸载

运行截图

源码地址:

https://github.com/javaxsky/cdh-shell

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

原文地址:http://blog.51cto.com/14049791/2317557

时间: 2024-11-08 06:54:13

0008-如何卸载CDH(附一键卸载github源码)的相关文章

基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)

基于python语言的tensorflow的‘端到端’的字符型验证码识别 1   Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展,传统的字符验证已经形同虚设. 所以,大家一方面研究和学习此代码时,另外一方面也要警惕自己的互联网系统的web安全问题. Keywords: 人工智能,Python,字符验证码,CAPTCHA,识别,tensorflow,CNN,深度学习 2   Introduction 全自动区

Android一键锁屏源码

APK下载 源程序下载 锁屏流程如下(参考于Android一键锁屏开发全过程[源码][附图]) 源码参考于一键锁屏 源码 一共有2个Java文件: 1 package com.example.onekeylock.app; 2 3 import android.app.admin.DeviceAdminReceiver; 4 5 public class AdminReceiver extends DeviceAdminReceiver{} AdminReceiver.java 1 packag

Linux+Win锐速&Lot开心版一键安装脚本+源码

Linux+Win锐速&Lot愉快版一键部署script+源码 当咱们购置本国服务器使用时可以说是比较卡,特别是那些挂小水管,的更是埋怨不住,此刻锐速拯救了咱们不过不幸的是, 他们现时曾经终止注册,客人是咱们还想注册怎地办? 1.OpenVZ不支持锐速!现时仅支持KVM,Xen,vmare,如果不清晰本人是甚么 请点伏笔VPS 2.锐速对linux系统以及内核版本要求异常严厉.引荐Centos6,变换内核教程 请点伏笔VPS 3.如果网卡称号不是eth0的话,会部署失利,请联络主机商或者在面板修

GitHub 源码,Framework 框架

https://github.com/CoderLN/Apple-GitHub-Codeidea Apple 译文.GitHub 源码,随原作者 (大版本) 迭代注解.--- 不知名开发者 https://github.com/CoderLN/Framework-Codeidea iOS_12 Framework 归类整理,框架各分类文件注解,并对每一类中常用的功能进行案例渐进式解析. --- 不知名开发者 原文地址:https://www.cnblogs.com/Plainboiledwate

2、linux(ubuntu12.04)下:通过pip对python软件或源码安装和卸载,以及正常软件或源码的安装和卸载

以下通过安装和卸载ryu来进行解释: 1.ryu安装 1.1.正常模式下安装步骤 (1)第一种方式:简易安装方法apt-get:sudo apt-get install ryu (2)第二种方式:源码安装: 首先,有configure文件的,首先运行命令: ./configure 然后,有makefile文件的,运行命令:make all 最后,运行命令:make install 1.2.安装Python的源码或软件 (1)第一种方式:现在Python很多源码都支持简易安装pip.输入命令:pi

cocos2d-x开发的《派对小游戏》-github源码分享

这是博主很久以前写的一个cocos2d-x跨平台小游戏,我称它为<派对小游戏>,现在分享给大家,希望对大家有所帮助的话. 项目源码地址:https://github.com/xiebaochun/partygame-cocos2d-x 游戏截图如下: 主页: 打地鼠 视觉空间 拖拖拉拉

把github源码转移到osc

---恢复内容开始--- 最近编译rom 遇到经常修改源码  由于github 访问慢  所以需要把源码项目转移到osc 教程开始 # 进入源码项目git目录 比如 frameworks_base cd framework/base git push --mirror https://git.oschina.net/username/platform_frameworks_base.git git push -u origin xxx   ---恢复内容结束---

GitHub源码攻击事件

黑客擦除了微软多达392个代码存储库,并提出勒索要求.此前,黑客攻击了包含微软在内的大批受害者的Git存储库,删除了所有源代码和最近提交的内容,并留下了支持比特币支付的赎金票据. 勒索信息如下: “要恢复丢失的代码并避免泄漏:将比特币(BTC)发送到我们的比特币地址,并通过电子邮件[email protected]与您联系,并附上您的Git登录信息和付款证明,” “如果您不确定我们是否有您的数据,请联系我们,我们会向您发送证明.您的代码已下载并备份到我们的服务器上,“ “如果我们在未来10天内未

【达达前端】Ajax实战项目源码讲解(快速入门的实例)Github源码

作者 | Jeskson 来源 | 达达前端小酒馆 源码地址: https://github.com/huangguangda/Ajaxitm 什么是Ajax技术?实战中的运用ajax技术,了解前后端交互的方式,了解移动端的模式,了解H5的新技术,了解CSS3的使用,和JQuery的使用. Ajax技术可以提高用户体验,无刷新的与后台进行数据的交互,异步的操作方式,可以不用刷新页面提高性能. 了解前后端的交互流程,主要分为三部分,客户端,服务端,数据库,环境搭建,wamp,phpMyAdmin.