基于Ambari删除已安装服务的方法与流程

文档序号:12362994阅读:1406来源:国知局

本发明涉及一种Ambari平台技术领域,具体地说是一种基于Ambari删除已安装服务的方法。



背景技术:

虽然大数据越来越流行,但其学习的门槛却一直阻碍着很多的初学者,而且各个产品之间的集成和维护也显得比较困难。不管是 Hadoop V1 或者 V2 的安装,又或者 Spark/YARN 等的集成,都不是几行简单的命令,而是要关联到许多的配置。Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。

Ambari 作为一个开放的平台,,可以让用户很方便的维护管理集群,它能够快速搭建、管理Hadoop集群,这是一件很方便开发者的事情,让集群管理变的简单规范。但是开发者可能在部署测试服务安装的时候,可能遇到服务安装失败、测试多次重复安装等情景,目前Ambari并不提供服务的删除操作,即Ambari安装服务不提供容错性,已安装的服务无论是否安装成功,都只能保持服务现状,在现状基础上进行修改调整。对于想要删除的服务Ambari不提供界面入口。因此,有类似脚本文件来删除固定服务,在开发过程中是很有必要的。



技术实现要素:

本发明的技术任务是提供一种基于Ambari删除已安装服务的方法,来解决如何快速删除已安装服务的问题。

本发明的技术任务是按以下方式实现的,

基于Ambari删除已安装服务的方法,步骤如下:

(1)、查看所删服务配置文件,明确其服务名称及包含组件名称;

(2)、通过Find命令查找所删服务涉及的文件与文件夹,目前主要报错以下几类:服务安装目录、服务日志目录、用户文件目录及用户,以及某些配置文件和yum安装包;

(3)、创建可执行脚本文件,脚本文件包括以下四部分:

(3.1)、集群环境变量的脚本文件;

(3.2)、调用API接口停止所删服务的脚本文件;

(3.3)、调用API接口删除服务的数据库注册信息的脚本文件;

(3.4)、删除服务的所安装节点目录及文件的脚本文件;删除服务中某个组件的脚本文件;

(4)、在ambari-server节点运行脚本文件,运行成功后,在服务安装的节点上执行脚本文件中的操作;

(5)、重启ambari-server或刷新页面,观察所删服务是否已删除成功。删除成功后继续其他操作即可。

步骤(1)中服务名称及包含组件名称在源码中stacks下对应服务metainfo.xml中查找。

步骤(3.2)中的脚本文件,能够查找到步骤(1)中的确定的服务名称,调用API接口停止此服务。

步骤(3.3)中的脚本文件,能够查找到步骤(1)中的确定的服务名称,调用API接口删除此服务的数据库注册信息。

步骤(3.4)中的脚本文件,能够查找到步骤(2)中的确定的所删服务涉及的文件与文件夹,删除服务的所安装节点目录及文件。

步骤(3.4)中的脚本文件,能够删除服务中某个组件时,在服务停止后,调用组件删除的API进行删除。

步骤(4)之后,Ambari-server节点运行脚本文件,删除成功后,即删除服务成功;创建该服务时新建的文件与文件夹需要手动删除,在对应的节点删除后才能保证再次安装该服务时不会存在文件冲突。

本发明的基于Ambari删除已安装服务的方法具有以下优点:Ambari在安装服务时,通过向数据库中注册服务信息来记录所有的服务操作。通过调用停止与删除服务的API,可以便捷的删除数据库中所删服务的所有数据,同时,在服务所部署的节点上,已创建的文件与文件夹并不会通过API来删除,因此需要手动检测所涉及的目录并在脚本中予以删除。通过这几个步骤下来,Ambari即完成了删除服务的操作。通过这种删除方式,在开发者开发过程中,可以方便的对服务进行修改、测试与集成,而不影响整个集群的使用。当操作失误需要删除某个服务时就可以参照本发明进行快速删除,并保证后续的Ambari操作不受影响;因而,具有很好的推广使用价值。

具体实施方式

参照具体实施例对本发明的基于Ambari删除已安装服务的方法作以下详细地说明。

实施例:

本发明的基于Ambari删除已安装服务的方法,步骤如下:

(1)、查看所删服务配置文件,明确其服务名称及包含组件名称;服务名称及包含组件名称在源码中stacks下对应服务metainfo.xml中查找;

(2)、通过Find命令查找所删服务涉及的文件与文件夹,目前主要报错以下几类:服务安装目录、服务日志目录、用户文件目录及用户,以及某些配置文件和yum安装包;

(3)、创建可执行脚本文件,脚本文件包括以下四部分:

(3.1)、集群环境变量的脚本文件;

(3.2)、调用API接口停止所删服务的脚本文件;此脚本文件能够查找到步骤(1)中的确定的服务名称,调用API接口停止此服务;

(3.3)、调用API接口删除服务的数据库注册信息的脚本文件;此脚本文件能够查找到步骤(1)中的确定的服务名称,调用API接口删除此服务的数据库注册信息;

(3.4)、删除服务的所安装节点目录及文件的脚本文件,此脚本文件能够查找到步骤(2)中的确定的所删服务涉及的文件与文件夹,删除服务的所安装节点目录及文件;删除服务中某个组件的脚本文件,此脚本文件能够删除服务中某个组件时,在服务停止后,调用组件删除的API进行删除;

(4)、在ambari-server节点运行脚本文件,运行成功后,在服务安装的节点上执行脚本文件中的操作;Ambari-server节点运行脚本文件,删除成功后,即删除服务成功;创建该服务时新建的文件与文件夹需要手动删除,在对应的节点删除后才能保证再次安装该服务时不会存在文件冲突;

(5)、重启ambari-server或刷新页面,观察所删服务是否已删除成功。删除成功后继续其他操作即可。

一、删除Solr服务脚本文件,如下:

export SERVICE=SOLR

export PASSWORD=admin

export AMBARI_HOST=10.110.17.183

export CLUSTER=DCenter

curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo": {"context" :"Stop SOLR via REST"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}' http://$AMBARI_HOST:8080/api/v1/clusters/$CLUSTER/services/SOLR

curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X DELETE http://$AMBARI_HOST:8080/api/v1/clusters/$CLUSTER/services/$SERVICE

curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X DELETE http://$AMBARI_HOST:8080/api/v1/clusters/$CLUSTER/services/$SERVICE

sudo -u hdfs hadoop fs -rm -r /user/solr

rm -rf /opt/solr

rm -rf /var/run/solr

rm -rf /var/log/solr*

rm -rf /etc/init.d/solr

rm -rf /opt/solr-5.3.1

userdel -r solr

该脚本文件首先在ambari-server节点运行删除数据库的solr服务信息。之后可在安装solr服务的节点运行删除文件与文件夹部分。同时,对于不同服务有不同的删除目录与文件,务必需要事先检测防止误删。

二、删除Journalnode组件步骤:

A、停止HDFS服务,可界面操作;

B、 停止Journalnode进程,可界面操作(包含在上一步了)

C、调用restAPI删除journalnode组件:

curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://10.110.17.183:8080/api/v1/clusters/DCenter/services/HDFS/components/JOURNALNODE

curl -u admin:admin -H "X-Requested-By: ambari" -i -X POST http://10.110.17.183:8080/api/v1/clusters/DCenter/services/HDFS/components/JOURNALNODE

curl -u admin:admin -H "X-Requested-By: ambari" -i -X POST -d '{"host_components" : [{"HostRoles":{"component_name":"JOURNALNODE"}}] }' http://10.110.17.183:8080/api/v1/clusters/DCenter/hosts?Hosts/host_name=master3.bigdata

D、可重新安装已删除Journalnode组件

curl -u admin:admin -H "X-Requested-By: ambari" -i -X PUT -d '{"ServiceInfo": {"state" : "INSTALLED"}}' http://10.110.17.183:8080/api/v1/clusters/DCenter/services/HDFS

E、通过界面修改某些必要的配置文件。

F、 重启HDFS服务,显示服务正常即可。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1