Spec-Zone.ru › CouchDB 3.5

Управление узлами

Добавление узла

Перейдите к http://server1:5984/_membership, чтобы увидеть имя узла, а также все узлы, к которым он подключён и о которых знает.

curl -X GET "http://xxx.xxx.xxx.xxx:5984/_membership" --user admin-user
{
    "all_nodes":[
        "node1@xxx.xxx.xxx.xxx"],
    "cluster_nodes":[
        "node1@xxx.xxx.xxx.xxx"]
}
  • all_nodes — это все узлы, о которых знает этот узел.

  • cluster_nodes — это узлы, подключённые к этому узлу.

Чтобы добавить узел, просто выполните:

curl -X PUT "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy" -d {}

Теперь снова посмотрите на http://server1:5984/_membership.

{
    "all_nodes":[
        "node1@xxx.xxx.xxx.xxx",
        "node2@yyy.yyy.yyy.yyy"
    ],
    "cluster_nodes":[
        "node1@xxx.xxx.xxx.xxx",
        "node2@yyy.yyy.yyy.yyy"
    ]
}

И теперь у вас есть кластер из 2 узлов :)

http://yyy.yyy.yyy.yyy:5984/_membership покажет то же самое, поэтому добавлять узел нужно только один раз.

Удаление узла

Прежде чем удалить узел, убедитесь, что вы переместили все шарды с этого узла.

Чтобы удалить node2 с сервера yyy.yyy.yyy.yyy, сначала необходимо узнать ревизию документа, который указывает на существование этого узла:

curl "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy"
{"_id":"node2@yyy.yyy.yyy.yyy","_rev":"1-967a00dff5e02add41820138abb3284d"}

Теперь, имея _rev, можно удалить документ узла:

curl -X DELETE "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy?rev=1-967a00dff5e02add41820138abb3284d"

Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/cluster/nodes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API