自定义服务SAMPLE后发现8080 web页面中没有删除的方法,瞬间囧到。参考IBM的文章 http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari2/index.html 找到了删除服务的方法,使用CURL来删除。
说明:下面url中的hadoop修改为自己的平台名称
1 停止服务
curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo": {"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' http://172.16.30.101:8080/api/v1/clusters/hadoop/services/SAMPLE
SAMPLE服务因为实际上没干任何事,短暂时间后可能会自己又启动,所以手速要快
2 删除服务(快速立即执行)
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://172.16.30.101:8080/api/v1/clusters/hadoop/services/SAMPLE
如果没有停止的话会出现
{
"status" : 500,
"message" : "org.apache.ambari.server.controller.spi.SystemException: An internal system exception occurred: Cannot remove hadoop/SAMPLE. MYMASTER is in anon-removable state."
}
没关系再次执行就好
3 验证
重新访问8080 web页面,已经发现那个SAMPLE service已经消失了