Couchdb集群搭建

创建dockerbridge

docker network create --driver bridge couch

创建三个couchdb节点

1
2
3
4
5
sudo docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=8lab -e NODENAME=couchdb1 -p 15984:5984  --net=couch --name couchdb1 -d couchdb 

sudo docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=8lab -e NODENAME=couchdb2 -p 25984:5984  --net=couch --name couchdb2 -d couchdb 

sudo docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=8lab -e NODENAME=couchdb3 -p 35984:5984  --net=couch --name couchdb3 -d couchdb 

部署集群

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
curl -X POST -H "Content-Type: application/json" http://admin:8lab@127.0.0.1:15984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"8lab", "node_count":"3"}'

curl -X POST -H "Content-Type: application/json" http://admin:8lab@127.0.0.1:15984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"8lab", "port": 25984, "node_count": "3", "remote_node": "couchdb2", "remote_current_user": "admin", "remote_current_password": "8lab" }'

curl -X POST -H "Content-Type: application/json" http://admin:8lab@127.0.0.1:15984/_cluster_setup -d '{"action": "add_node", "host":"couchdb2", "port": "5984", "username": "admin", "password":"8lab"}'

curl -X POST -H "Content-Type: application/json" http://admin:8lab@127.0.0.1:15984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"8lab", "port": 35984, "node_count": "3", "remote_node": "couchdb3", "remote_current_user": "admin", "remote_current_password": "8lab" }'
curl -X POST -H "Content-Type: application/json" http://admin:8lab@127.0.0.1:15984/_cluster_setup -d '{"action": "add_node", "host":"couchdb3", "port": "5984", "username": "admin", "password":"8lab"}'

curl -X POST -H "Content-Type: application/json" http://admin:8lab@127.0.0.1:15984/_cluster_setup -d '{"action": "finish_cluster"}'

验证集群部署结果

1
2
3
curl http://admin:8lab@localhost:15984/_membership

{"all_nodes":["couchdb@couchdb1"],"cluster_nodes":["couchdb@couchdb1","couchdb@couchdb2","couchdb@couchdb3"]}
Licensed under CC BY-NC-SA 4.0
Built with Hugo
主题 StackJimmy 设计