4.2. Node Management¶
4.2.1. Adding a node¶
Go to http://server1:5984/_membership
to see the name of the node and all
the nodes it is connected to and knows about.
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
are all the nodes that this node knows about.cluster_nodes
are the nodes that are connected to this node.
To add a node simply do:
curl -X PUT "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy" -d {}
Now look at http://server1:5984/_membership
again.
{
"all_nodes":[
"node1@xxx.xxx.xxx.xxx",
"node2@yyy.yyy.yyy.yyy"
],
"cluster_nodes":[
"node1@xxx.xxx.xxx.xxx",
"node2@yyy.yyy.yyy.yyy"
]
}
And you have a 2 node cluster :)
http://yyy.yyy.yyy.yyy:5984/_membership
will show the same thing, so you
only have to add a node once.
4.2.2. Removing a node¶
Before you remove a node, make sure that you have moved all shards away from that node.
To remove node2
from server yyy.yyy.yyy.yyy
, you need to first know the
revision of the document that signifies that node’s existence:
curl "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy"
{"_id":"node2@yyy.yyy.yyy.yyy","_rev":"1-967a00dff5e02add41820138abb3284d"}
With that _rev
, you can now proceed to delete the node document:
curl -X DELETE "http://xxx.xxx.xxx.xxx/_node/_local/_nodes/node2@yyy.yyy.yyy.yyy?rev=1-967a00dff5e02add41820138abb3284d"