1. 程式人生 > >Ambari解除安裝已安裝的服務元件

Ambari解除安裝已安裝的服務元件

Ambari 常用的 REST API 介紹

Ambari 借鑑了很多成熟分散式軟體的 API 設計。Rest API 就是一個很好地體現。通過 Ambari 的 Rest API,可以在指令碼中通過 curl 維護整個叢集。並且,我們可以用 Rest API 實現一些無法在 Ambari GUI 上面做的操作。下面是一些例項。
例項 1,通過 API 解除安裝已安裝的 Service

目前 Ambari 不支援在 GUI 上面解除安裝已安裝的 Service。所以當一個 Service 不再需要的時候,使用者沒法刪除掉該 Service。幸運的是 Ambari 提供了 DELETE 的 Rest API,我們可以通過該 API 來刪除 Ambari 中 Service。不過這裡需要注意,這個方法只是從 Ambari Service 中刪除了 Service。這樣一來,Ambari 的 GUI 介面中不再顯示這個 Service。但是 Service 本身還安裝在 Agent 所在的機器。如果使用者需要徹底的清除掉這個 Service,仍需要手工的到每個機器解除安裝(例如,在每個機器執行 yum erase)。

這裡我以刪除 Storm 為例。解除安裝之前,需要確認是否停掉了該 Service。我們通過 GET 方法來得到這個結果(這裡當然也可以直接從 GUI 上面看到 Service 狀態)。具體的命令如下:

curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://zwshen86:8080/api/v1/clusters/bigdata/services/STORM

命令中的 zwshen86 為 Ambari Server 的機器名(埠預設為 8080),bigdata 為 cluster 名字,STORM 為 Service 的名字。

在返回的報文中,可以看到 State 欄位。如果是 INSTALLED,代表這個 Service 已經是停掉的狀態。我們可以繼續刪除步驟。如果不是 INSTALLED,則需要先停掉這個 Service,可以從 WEB 上操作,也可以用 Rest API。
圖 17. Get 返回的結果


用 Rest API 停掉 Service 的命令格式如下,有興趣的朋友可以嘗試一下。

curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":
        {"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}'
        http://AMBARI_SERVER_HOST:8080/api/v1/clusters/c1/services/SERVICE_NAME

執行如下命令刪除 STORM:

curl -u admin:admin -H "X-Requested-By: ambari" -X
DELETE  http://zwshen86:8080/api/v1/clusters/bigdata/services/STORM

執行完成後,Storm 就從 Ambari 的 Service 裡面刪掉了,但是 Storm 的 package 還存在於機器。
圖 18. Storm 的 RPM 包


如果需要徹底清除掉 Storm 的 package,則需要到各個 Agent 機器執行如下命令。

yum erase“storm_2_2*”

執行完後,這個 Service 就被徹底的清除掉了。


檢視狀態
curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://10.111.3.9:8080/api/v1/clusters/data/services/STORM

修改狀態為INSTALLED
curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo": {"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}'  http://10.111.3.9:8080/api/v1/clusters/data/services/STORM

刪除服務
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE  http://10.111.32.94:8080/api/v1/clusters/gdata/services/STORM

(服務名稱
STORM大寫,有的時候狀態為INSTALL_FAILEDUNKNOWN狀態直接刪除就行

參考:
http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari2/index.html
http://blog.csdn.net/gcangle/article/details/50128807

相關推薦

Ambari解除安裝安裝服務元件

Ambari 常用的 REST API 介紹 Ambari 借鑑了很多成熟分散式軟體的 API 設計。Rest API 就是一個很好地體現。通過 Ambari 的 Rest API,可以在指令碼中通過 curl 維護整個叢集。並且,我們可以用 Rest API 實現一些無法

在eclipse裡解除安裝安裝的外掛

有四種方法: 1.到plugins和features目錄中找到你要解除安裝的外掛的資料夾,刪除它們。 在eclipse的快捷方式屬性中加上-clean引數,啟動eclipse。去掉-clean引數,重新啟動即可。 2.如果是採用link方式安裝外掛,只需要把對應的link檔案刪除就可以了。/

Linux下強制解除安裝安裝的php!

      原先在centOS6.6上已經安裝好了Lamp環境,因為php5.3版本比較低,就使用了remi源升級到5.5,然後問題就來了:專案中使用的php-xml在centOS下找不到yum安裝包

Linux 中如何解除安裝安裝的軟體

  Linux軟體的安裝和解除安裝一直是困擾許多新使用者的難題。在 Windows中,我們可以使用軟體自帶的安裝解除安裝程式或在控制面板中的“新增/刪除程式”來實現。與其相類似,在Linux下有一個功能強大的軟體安裝解除安裝工具,名為RPM。它可以用來建立、安裝、查詢、更新、解除安裝軟體。該工具是在命令列下使

解除安裝安裝到全域性的 node/npm

1. npm ls -g --depth=0 #檢視已經安裝在全域性的模組,以便刪除這些全域性模組後再按照不同的 node 版本重新進行全域性安裝 2. sudo rm -rf /usr/local/lib/node_modules #刪除全域性 node_modules

deepin 系統下解除安裝安裝軟體

apt remove ***[email protected]:/$ aptapt 1.4 (amd64)用法: apt [選項] 命令命令列軟體包管理器 apt 提供軟體包搜尋,管理和資訊查詢等功能。它提供的功能與其他 APT 工具相同(像 apt-get 和 a

LINUX刪除或解除安裝安裝好的RPM包

查詢包的安裝情況 rmp -qa|grep 包名 1,現實情況往往是你想刪除或解除安裝已安裝好的軟體。但你可能只知道這個軟體安裝好後的檔名是什麼,此時可以先用which或其find找到你想刪除的檔案[[email protected] rpm]# which h

安卓6.0更新版本出錯:更新包與安裝應用的簽名不一致,但在應用管理中卻找不到這個已經解除安裝的應用

本人用的是mac系統,手機是華為P10 PLUS,系統是安卓8.0,使用AS進行開發 每次更新版本時,debug版與正式版的簽名不一致,導致安裝失敗,但是如果直接在手機桌面拖拽刪除了debug版,就有可能會提示這個錯誤,因為系統沒有徹底將debug版的安裝包刪除,然而在應用管理中,是根本找不到這

Linux安裝MySQL,查詢到安裝解除安裝的時候出錯

Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again 執行yum -y remove mysql-(此處省略版本)報上面的

軟體測試工具之——selenium-IDE下載安裝與該附件元件無法安裝,因為它似乎損壞問題解決

*selenium-IDE的下載安裝* 下載網址: 開始下載 點選 則會出現開始安裝如圖所示:點選安裝即可 安裝完成之後需要重啟火狐瀏覽器 這樣就安裝完成了 當出現 Firefox安裝seleniumide外掛失敗提示時如圖

Caffe + Ubuntu 15.04/16.04 + CUDA 7.5/8.0 在伺服器上安裝配置及解除安裝重新安裝測試可執行)

第一部分 Linux安裝 如何在Windows系統上製作一個USB安裝盤:中文,英文。 總共用分出的500G的空間來安裝Ubuntu 15.04,這個版本是最新的版本,有個好處是,可以直接訪問Windows8.

NSIS製作安裝包,如何檢測並解除安裝有版本

將如下程式碼追加到NSIS指令碼的尾部即可。 Var UNINSTALL_PROG Var OLD_VER Var OLD_PATH Function .onInit   ClearErrors

解除安裝有的navicat for mysql,安裝破解版navicat for mysql

破解版:https://pan.baidu.com/s/1RaIbJIOgIYxgned_rBNmMA密碼:zyiz右鍵navicat for mysql開啟檔案地址,找到unins000.exe雙擊解

linux下檢視安裝的軟體與解除安裝

因為linux安裝軟體的方式比較多,所以沒有一個通用的辦法能查到某些軟體是否安裝了。總結起來就是這樣幾類: 1、rpm包安裝的,可以用rpm -qa看到,如果要查詢某軟體包是否安裝,用 rpm -qa | grep “軟體或者包的名字”。 [[email p

ambari 安裝hbase thrift2服務

1、ambari安裝hbase後沒有啟動thrift2 2、需要手動啟動thrift2       a、安裝thrift工具:見上篇       b、啟動thrif2:hbase-daemon.sh start thrift2 3、檢視啟動情況: ps aux | gre

基於【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ資料倉庫——安裝配置NTP服務,保證叢集時間保持同步

一、所有節點上使用yum安裝配置NTP服務yum install ntp -y 二、選定一臺節點作為NTP server, 192.168.58.11修改/etc/ntp.conf vim /etc/ntp.conf 1,註釋掉restrict 127.0.0.1 ,修改為: restrict 192

【C#web】此計算機沒有安裝列舉web服務元件

我的vs2008今天忽然不能新增web引用了,報“web服務列舉元件不可用”,試著更新原來的web引用,報“此計算機上沒有安裝列舉web引用所需的元件,請重新安裝visual studio”。 解決辦

如何徹底解除安裝安裝和啟動ssh服務

通過命令  ssh localhost 可以檢視是否已經安裝了ssh服務 如下圖所示,已經安裝了ssh服務 如果出現如下所示的情況,表示本機還未安裝ssh服務 ssh localhost ssh: connect to host localhost port 22: C

Window下mysql免安裝安裝解除安裝服務

隨著MySQL 版本的提升,已經沒有安裝版了。現在簡單介紹安裝多服務。 (2)、將mysql-5.6.15-win32.zip解壓縮D:\Program Files\目錄下,重新命名為mysql-5.6.15。在D:\Program Files\mysql-5.6.15目

一些軟體解除安裝後重新安裝卻提示安裝或正在執行怎麼解決?

第一:電腦---控制面板---解除安裝(檢視有沒有卸完)提示兩個都徹底刪除重新裝第二:用軟體(電腦管家或者360)清除垃圾殘留第三:開始---執行---regedit開啟登錄檔,點選,編輯---查詢,輸入解除安裝軟體關鍵字如(QQ,eclipse),把查詢到的專案刪除,點F3