我已将 Ranger 服务(Ranger Admin Server、Ranger Usersync 和 Ranger KMS)添加到在 Ubuntu 14.04 服务器上运行的现有 Ambari 2.3 集群(4 个节点)。所有服务都在主节点上。但是,它没有正确安装,现在它在主 Ambari 页面上可用服务的左侧列中显示“安装失败”,我相信这就是主节点关闭的原因。我在 Ambari Web UI 上找不到任何可用于删除服务的选项。我关注了this教程,但没有成功。每次我尝试使用以下命令删除整个服务时
curl -u admin:admin -X DELETE http://AMBARI_SERVER_HOST:8080/api/v1/clusters/c1/services/SERVICENAME
它以一个错误结束:“400”……什么的。 ..
you need to add "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
我的想法是,只要这些服务没有正确安装,系统就看不到它们。或者也许其他一些问题.. 但是,我仍然无法弄清楚实际命令是什么,是否有可能删除该服务?!?我知道我可以隐藏这个问题,将“打开维护模式”作为选项,在这种情况下主节点将正常运行,但我想完全摆脱这个服务,因为我不再需要它了。任何帮助都适用,因为我花了半天时间试图将其删除,但没有成功。
最佳答案
排序。如果有人有兴趣从命令行删除 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
附言简单地把你的主机名而不是 HOST_NAME 和你的集群名称而不是 CLUSTER_NAME 希望对遇到同样问题的人有所帮助。
关于hadoop - 如何从 Ambari 2.3 集群中完全删除 Ranger Admin Server 和 Ranger KMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163185/