不多說,直接干貨!
Ambari 借鑒了很多成熟分布式軟件的 API 設計。Rest API 就是一個很好地體現。通過 Ambari 的 Rest API,可以在腳本中通過 curl 維護整個集群。並且,我們可以用 Rest API 實現一些無法在 Ambari GUI 上面做的操作。
目前 Ambari 不支持在 GUI 上面卸載已安裝的 Service。所以當一個 Service 不再需要的時候,用戶沒法刪除掉該 Service。幸運的是 Ambari 提供了 DELETE 的 Rest API,我們可以通過該 API 來刪除 Ambari 中 Service。不過這里需要注意,這個方法只是從 Ambari Service 中刪除了 Service。這樣一來,Ambari 的 GUI 界面中不再顯示這個 Service。但是 Service 本身還安裝在 Agent 所在的機器。如果用戶需要徹底的清除掉這個 Service,仍需要手工的到每個機器卸載(例如,在每個機器執行 yum erase)。
這里,我就以Ambari里的Ambari Metrics這個服務為例。其他的也一樣。
解決步驟
Steps:1. tail -f /var/log/ambari-metrics-collector/ambari-metrics-collector.log (這一也可以跳過,說白了就是查看對應的ambari-metrics-collector的日志而已)
tail -f /var/log/ambari-metrics-collector/ambari-metrics-monitor.log (這一也可以跳過,說白了就是查看對應的ambari-metrics-monitor的日志而已)
Steps:2. Stop Ambari Metrics
注意: 若是這步,關不掉Ambari Metrics沒事,去步驟三吧!
Steps:3. Kill all the ambari metrics processes
ambari-metrics-monitor status
ambari-metrics-collector status
ambari-metrics-monitor stop
ambari-metrics-collector stop
kill -9 26554
kill -9 46277
Steps:4 停止服務
curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo": {"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' http://192.168.80.144:8080/api/v1/clusters/hdpCluster/services/AMBARI_METRICS
注意:
192.168.80.144是我這台機器ambari01(即搭建了ambari)的ip,你注意改為你自己的!
hdpCluster是我集群的名字,你注意改為你自己的!
AMBARI_METRICS這里是停止該服務並要從ambari里刪除它。
Steps:5 刪除服務(快速立即執行)
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://192.168.80.144:8080/api/v1/clusters/hdpCluster/services/AMBARI_METRICS
注意:
192.168.80.144是我這台機器ambari01(即搭建了ambari)的ip,你注意改為你自己的!
hdpCluster是我集群的名字,你注意改為你自己的!
AMBARI_METRICS這里是停止該服務並要從ambari里刪除它。
執行完成后,Ambari Metrics就從 Ambari 的 Service 里面刪掉了,但是 Ambari Metrics的 package 還存在於機器。
[root@ambari02 ~]# rpm -qa | grep ambari_metrics
如果,需要徹底清除掉 Ambari Metrics的 package,則需要到各個 Agent 機器(我這里是ambari02)執行如下命令:
yum erase ***
比如,你是刪除storm服務,則就是yum erase strom*
執行完后,這個 Ambari Metrics的Service 就被徹底的清除掉了!
OK,成功!Ambari里如何刪除某指定的服務Ambari Metrics.
關於若是刪除其他的服務,一樣的步驟,把服務名改下就是了。很簡單。
參考優秀博客
https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari2/
Ambari——大數據平台的搭建利器之進階篇