我已将Ranger Service(Ranger Admin Server,Ranger Usersync和Ranger KMS)添加到在Ubuntu 14.04服务器上运行的现有Ambari 2.3群集(4个节点)。所有服务都在主节点上。但是,它没有正确安装,现在它显示“安装失败”'在Main Ambari页面上的可用服务的左侧列中,我相信这是放下主节点的原因。我无法在Ambari Web UI上找到任何可用于删除服务的选项。我按照this教程,但没有成功。每次我尝试使用以下命令删除整个服务
curl -u admin:admin -X DELETE http://AMBARI_SERVER_HOST:8080/api/v1/clusters/c1/services/SERVICENAME
最终会出现错误:" 400" ......某事......
您需要添加" X-Requested-By ..."
所以根据我们的系统我的命令是:
curl -u admin:admin -X "X-Requested-By: ambari" DELETE http://localhost:8080/api/v1/clusters/cluster1/services/ranger
我也试过了:
curl -u admin:admin -X "X-Requested-By: ambari" DELETE http://localhost:8080/api/v1/clusters/cluster1/services/rangeradmin
最后:
curl -u admin:admin -X "X-Requested-By: ambari" DELETE http://localhost:8080/api/v1/clusters/cluster1/services/RangerAdmin
我的想法是,如果没有正确安装这些服务,系统就无法看到它们。或许还有其他一些问题...... 但是,我仍然无法弄清楚实际的命令是什么,是否有可能删除该服务?!?我知道我可以隐藏这个问题,通过'打开Maintanace模式'作为选项,在这种情况下,主节点将正常运行,但我想完全摆脱这项服务,因为我不再需要它。任何有用的帮助,因为我花了半天试图删除它,但没有成功。
答案 0 :(得分:4)
排序。如果有人有兴趣从命令行删除Ambari服务(在我的情况下它是一个RANGER),请运行以下命令:
// get the service
curl -u admin:admin -X GET http://HOST_NAME:8080/api/v1/clusters/CLUSTER_NAME/services/RANGER
// stop the service
curl -u admin:admin -H 'X-Requested-By: ambari' -X PUT -d '{"RequestInfo":{"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' http://HOST_NAME:8080/api/v1/clusters/CLUSTER_NAME/services/RANGER
// delete the service
curl -u admin:admin -H 'X-Requested-By: ambari' -X DELETE http://HOST_NAME:8080/api/v1/clusters/CLUSTER_NAME/services/RANGER
P.S。只需将您的主机名而不是HOST_NAME和您的群集名称改为CLUSTER_NAME即可 希望它可以帮助任何有同样问题的人。