author:skatexg
time:2020/05/21
centos:7.6
couchdb:2.3.1
安装节点:
节点1:10.15.70.72
节点2:10.15.70.26
在节点1
1.添加 CouchDB 官方源。创建文件 /etc/yum.repos.d/bintray-apache-couchdb-rpm.repo, 并粘贴如下内容
[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1
2.安装 yum-plugin-fastestmirror, epel-release 和 couchdb。其中 yum-plugin-fastestmirror 用来提高安装文件的下载速度,可以不安装。分别执行如下命令。
yum -y install yum-plugin-fastestmirror
yum -y install epel-release
yum -y install couchdb-2.*
3.挂载数据盘
[root@ecs-1b6c ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0002af06
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886079 41942016 83 Linux
Disk /dev/vdb: 644.2 GB, 644245094400 bytes, 1258291200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@ecs-1b6c ~]# fdisk /dev/vdb
[root@ecs-1b6c ~]# mkfs -t ext4 /dev/vdb1
[root@ecs-1b6c ~]# mkdir -p /data/couchdb
[root@ecs-1b6c ~]# mount /dev/vdb1 /data
[root@ecs-1b6c ~]# chown -R couchdb:couchdb /data/couchdb
4.修改配置文件 /opt/couchdb/etc/local.ini
修改如下两个参数
[chttpd]
port = 5984
bind_address = 0.0.0.0
修改管理员密码
[admins]
admin = password
在文件末尾添加如下内容
[cors]
origins = *
credentials = true
headers = accept, authorization, content-type, origin, referer
methods = GET, PUT, POST, HEAD, DELETE
4.启动数据库
[root@ecs-1b6c ~]# systemctl restart couchdb
看到如下5984端口,说明服务已经启动
[root@ecs-1b6c ~]# netstat -antlp | grep LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1461/master
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 30993/beam.smp
tcp 0 0 0.0.0.0:37089 0.0.0.0:* LISTEN 30993/beam.smp
tcp 0 0 127.0.0.1:5986 0.0.0.0:* LISTEN 30993/beam.smp
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 31001/epmd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2381/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1461/master
tcp6 0 0 :::4369 :::* LISTEN 31001/epmd
tcp6 0 0 :::22 :::* LISTEN 2381/sshd
节点2:按节点1的步骤部署
配置双master
分配登录两个节点
节点1:10.25.70.72
配置同步
确认同步是否正确
节点2:10.25.70.26
配置同步
确认同步是否正常
常用命令:
删除分片数据库
curl -X GET http://admin:password@127.0.0.1:5986/_nodes/couchdb@10.25.70.72
curl -X DELETE http://admin:password@127.0.0.1:5986/_nodes/couchdb@10.25.70.72?rev=3-5570e8bbb34412db757c2df4bfa1099b
curl -X GET http://admin:password@127.0.0.1:5986/_nodes/couchdb@127.0.0.1
curl -X DELETE http://admin:password@127.0.0.1:5986/_nodes/couchdb@127.0.0.1?rev=1-967a00dff5e02add41819138abb3284d
查看节点成员
curl -X GET http://admin:password@127.0.0.1:5984/_membership | jq
添加节点
curl -X PUT http://admin:password@127.0.0.1:5986/_nodes/couchdb@10.125.70.5 -d {}
列出所有数据库
curl -X GET http://admin:Glodon20ADMIN20@127.0.0.1:5984/_all_dbs
创建数据库
curl -X PUT http://admin:password@127.0.0.1:5984/zhaoxg-db
curl -X PUT http://admin:password@127.0.0.1:5984/zhaoxg-db?q=8&n=3
删除数据库
curl -X DELETE http://admin:password@127.0.0.1:5984/zhaoxg-db
查看数据库的分片存储位置
curl -s http://admin:password@127.0.0.1:5984/couster_db1/_shards | jq
创建文档
curl -X PUT http://admin:password@127.0.0.1:5984/couster_db1/jon -d '{"love":"cats"}'
查看文档的存储位置
curl -s http://admin:password@127.0.0.1:5984/couster_db1/_shards/aaa | jq
查看数据库的详细信息
curl -s http://admin:password@127.0.0.1:5984/couster_db1 | jq
-------end-------