你好我在Ubuntu 16.04版本上使用arangodb版本3.1.18我使用AlleoDbStarter使用docker在两个节点上创建arangodb集群现在我的问题是如何从集群中删除节点?删除后如何知道该节点是否被删除它是否显示在Web界面上?请求给我一个解决方案。
答案 0 :(得分:1)
对于Centos 6,
当您运行以下命令时,您将获得死亡协调员的SERVER_ID。
curl --dump - http://co-ordinator-ip:8529/_db/_system/_admin/cluster/health
然后执行以下命令删除协调员。
curl --dump - http://co-ordinator-ip:8529/_admin/cluster/removeServer -d'“SERVER_ID”'
这对我有用。
答案 1 :(得分:1)
可以在协调器启动后运行简单循环:
for failed_id in $(curl http://coordinator:PORT/_db/_system/_admin/cluster/health | jq '.Health | to_entries[] | select (.value.CanBeDeleted==true) | select (.value.Status=="FAILED") | select (.value.Role=="Coordinator") | [.key] | .[]') ; do echo " deleting failed coordinator $failed_id" ; curl http://coordinator:PORT/_admin/cluster/removeServer -d ${failed_id} ; done
将删除重启后挂起的所有已删除协调器节点
答案 2 :(得分:0)
要使用ArangoDB群集,您至少需要3个节点。确保您的服务尚未运行。通过执行sudo service arangodb status
来检查这一点。如果激活,请停止服务。在您的第一个节点上,您可以通过执行以下命令来启动它:
arangodb
或将其作为后台进程启动:
arangodb start
在另外两个节点上执行以下命令,并确保arangodb服务也已停止:
arangodb --starter.join x.x.x.x:8528
或将其作为后台进程启动:
arangodb start --starter.join x.x.x.x:8528
其中x.x.x.x是第一个节点的IP地址。
然后,您可以通过转到任何或3个IP地址到端口8529来访问仪表板。您可以使用仪表板向您显示群集的状态。
要删除节点,您可以使用以下命令:
arangodb stop
如果Arangodb是作为后台进程启动的。如果不是那个juist杀了这个过程。 Webui现在将以红色显示已删除的节点,按垃圾桶也可以将其从ui中删除。