热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。1.前置条件本文档将介绍ClouderaManager与CDH的卸载,并基于CDH使用parcels安装且未配置安全(

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

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

[root@ip-172-31-3-217 ~]# 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

[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

2.2备份MySQL元数据

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

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

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

2.3备份CDH集群配置数据

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

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

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

导出截图:

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

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

  • 恢复集群配置数据

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

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

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

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

注意:如果在进行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为例操作如下:
[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

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控制台

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

3.2关闭集群

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

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

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

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

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

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

3.3关闭Cloudera Management Service

停止Cloudera Manager Service,如下图所示

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

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

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

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

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

4.解除并移除Parcels

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

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

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

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

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

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

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

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

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

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

点击确认,如下图所示

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

删除成功后显示如下

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

5.删除集群

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

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

删除集群,如下操作

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

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

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

删除成功后显示如下

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

6.卸载Cloudera Manager Server

6.1停止Cloudera Manager 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

6.2卸载Cloudera Manager 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

7.卸载Cloudera Manager Agent和Managed Software

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

7.1停止Cloudera Manager Agent

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

[root@ip-172-31-3-217 ~]# sudo service cloudera-scm-agent hard_stop

7.2卸载软件

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

[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

7.3运行清除命令

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

[root@ip-172-31-3-217 ~]# yum clean all

8.移除Cloudera Manager和用户数据

8.1杀死 Cloudera Manager和Managed进程

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

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

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命令将其复制到另一个集群中。在集群中所有节点执行如下命令,删除用户所有数据:

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

8.5停止并移除外部数据库

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

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

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

  • 卸载脚本说明:

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

autouninstall.sh:自动卸载脚本

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

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

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

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

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

  • 脚本使用

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

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

运行截图

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

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

源码地址:

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

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


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
author-avatar
临海小少年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有