【问题标题】:Arangodb Cluster Node RemoveArangodb 集群节点删除
【发布时间】:2017-05-01 09:23:14
【问题描述】:

您好,我在 Ubuntu 16.04 版本上使用 arangodb 版本 3.1.18 我已经使用 ArangoDbStarter 在两个节点上使用 docker 创建了 arangodb 集群,现在我的问题是如何从集群中删除节点?删除后,我怎么知道该节点是否已删除,它是否显示在 Web 界面上?请请求给我一个解决方案。

【问题讨论】:

    标签: arangodb


    【解决方案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"'

    这对我有用。

    【讨论】:

      【解决方案2】:

      在协调器启动后可以运行简单循环:

      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

      将删除所有在重启后挂起的已删除协调器节点

      【讨论】:

        【解决方案3】:

        要使用 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 中删除。

        【讨论】:

          猜你喜欢
          • 2018-07-19
          • 2019-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多