CouchDB安装以及使用

CouchDB安装以及使用系统 root fabric cli cat etc redhat releaseCentO 5 1804 Core 安装安装 rpm 仓库 vi etc yum repos d bintray apache couchdb rpm repo bintrayapach couchdb rpm name bintray

系统

[root@fabric-cli ~]# cat /etc/redhat-release  CentOS Linux release 7.5.1804 (Core) 

安装

安装rpm仓库

vi /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

安装CouchDB

sudo yum update -y && yum -y install epel-release && yum install couchdb

默认安装路径

/opt/couchdb

如果你是base系统,就要安装以下依赖,不是就略过

sudo yum install autoconf autoconf-archive automake \ curl-devel erlang-asn1 erlang-erts erlang-eunit gcc-c++ \ erlang-os_mon erlang-xmerl erlang-erl_interface help2man \ js-devel-1.8.5 libicu-devel libtool perl-Test-Harness sudo yum install erlang-reltool

依赖,非base系统略过

Erlang OTP (>=R16B03, =<19.x) ICU OpenSSL Mozilla SpiderMonkey (1.8.5) GNU Make GNU Compiler Collection libcurl help2man Python (>=2.7) for docs Python Sphinx (>=1.1.3)

修改配置文件,配置文件相关参数说明请参考Configuration files

[root@fabric-cli etc]# pwd /opt/couchdb/etc [root@fabric-cli etc]# ls -l 总用量 36 drwxr-xr-x 2 couchdb couchdb 42 517 15:02 default.d -rwxr-xr-x 1 couchdb couchdb 21567 517 16:01 default.ini drwxr-xr-x 2 couchdb couchdb 20 517 15:02 local.d -rwxr-xr-x 1 couchdb couchdb 4655 517 15:52 local.ini -rwxr-xr-x 1 couchdb couchdb 1793 118 2017 vm.args vi default.ini ... port = 5984 bind_address = 0.0.0.0 //把127.0.0.1修改为0.0.0.0 backlog = 512 docroot = ./share/www ...

非后台启动

sudo -i -u couchdb /opt/couchdb/bin/couchdb

可以通过fauxton对couchdb进行CRUD,具体使用教程请参考fauxton

还可以通过命令行调用couchdb API进行操作couchdb

后台启动
下载以及安装过程可以参考runit,也可以通过以下命令安装,也可以参考学习笔记

curl -s https://packagecloud.io/install/repositories/imeyer/runit/script.rpm.sh | sudo bash yum install runit-2.1.1-7.el7.centos.x86_64 
//启动 runsvdir -P /etc/service //查看是否运行runit [root@fabric-cli couchdb]# ps -ef | grep runsvdir [root@fabric-cli sv]# ps -ef | grep runsvdir root 1569 1512 0 17:21 pts/1 00:00:00 runsvdir -P /etc/service root 1609 1495 0 17:22 pts/0 00:00:00 grep --color=auto runsvdir //创建日志文件夹 mkdir -p /var/log/couchdb sudo chown couchdb:couchdb /var/log/couchdb //创建runit工作目录 mkdir -p /etc/sv/couchdb mkdir -p /etc/sv/couchdb/logs vi /etc/sv/couchdb/log/run #!/bin/sh exec svlogd -tt /var/log/couchdb vi /etc/sv/couchdb/run #!/bin/sh export HOME=/opt/couchdb exec 2>&1 exec chpst -u couchdb /opt/couchdb/bin/couchdb sudo chmod u+x /etc/sv/couchdb/log/run sudo chmod u+x /etc/sv/couchdb/run sudo ln -s /etc/sv/couchdb/ /etc/service/couchdb [root@fabric-cli sv]# sv status couchdb run: couchdb: (pid 1571) 141s sudo sv stop couchdb sudo sv start couchdb [root@fabric-cli logs]# cd /var/log/couchdb [root@fabric-cli couchdb]# ls -l 总用量 31296 -rw-rw-r-- 1 couchdb couchdb  523 17:26 couchdb.log -rwxr--r-- 1 root root 0 523 16:01 current -rw------- 1 root root 0 523 16:01 lock [root@fabric-cli couchdb]# pwd /var/log/couchdb [root@fabric-cli etc]# sv start couchdb ok: run: couchdb: (pid 1624) 0s
[root@fabric-cli ~]# curl -X PUT http://localhost:5984/qinzhao_database -u "admin:admin" { 
  "ok":true}
[root@fabric-cli ~]# curl -X GET http://localhost:5984/_all_dbs ["qinzhao_database","qinzhaodemo","todos","verifytestdb","verifytestdb_replicate"]

创建文档

[root@fabric-cli ~]# curl -X POST -d '{ 
  "todo":"task 1", "done":false}' http://localhost:5984/qinzhao_database -H "Content-Type:application/json" { 
  "ok":true,"id":"4aa6ed76ceb","rev":"1-2fc1dc39c9fe3681"}

用指定的ID创建

创建一个ID为random_task的文档:

[root@fabric-cli ~]# curl -X POST -d '{ 
  "_id":"random_task", "todo":"task 2", "done":false}' http://localhost:5984/qinzhao_database -H "Content-Type:application/json" { 
  "ok":true,"id":"random_task","rev":"1-bceeae3c4a9154c87dbe44"}

qinzhao09

创建多个文档

 curl -X POST -d '{ 
  "docs": [{ 
  "todo":"task 3", "done":false}, { 
  "todo":"task 4", "done":false}]}' http://localhost:5984/qinzhao_database/_bulk_docs -H "Content-Type:application/json"
[root@fabric-cli ~]# curl -X POST -d '{ 
  "docs": [{ 
  "todo":"task 3", "done":false}, { 
  "todo":"task 4", "done":false}]}' http://localhost:5984/qinzhao_database/_bulk_docs -H "Content-Type:application/json" [{ 
  "ok":true,"id":"4aa6ed76ceb4001ac1","rev":"1-778fd61f8f460d0c1df1bbd"},{ 
  "ok":true,"id":"4aa6ed76ceb","rev":"1-dc9e84861bba58e5cfefeed8f"}]

读取文件

[root@fabric-cli ~]# curl -X GET http://localhost:5984/qinzhao_database/random_task { 
  "_id":"random_task","_rev":"1-bceeae3c4a9154c87dbe44","todo":"task 2","done":false} [root@fabric-cli ~]# curl -X GET http://localhost:5984/qinzhao_database/4aa6ed76ceb { 
  "_id":"4aa6ed76ceb","_rev":"1-dc9e84861bba58e5cfefeed8f","todo":"task 4","done":false} 

更新文档

[root@fabric-cli ~]# curl -X GET http://localhost:5984/qinzhao_database/random_task { 
  "_id":"random_task","_rev":"1-bceeae3c4a9154c87dbe44","todo":"task 2","done":false} [root@fabric-cli ~]# curl -X PUT -d '{ 
  "_rev":"1-bceeae3c4a9154c87dbe44", "todo":"task 2", "done":true}' http://localhost:5984/qinzhao_database/random_task { 
  "ok":true,"id":"random_task","rev":"2-4cc3dfb6e76befd665faf124b36b7f1c"} [root@fabric-cli ~]# curl -X GET http://localhost:5984/qinzhao_database/random_task { 
  "_id":"random_task","_rev":"2-4cc3dfb6e76befd665faf124b36b7f1c","todo":"task 2","done":true}

删除文档
使用HTTP DELETE请求要指定包含这个新的rev值来删除这个文档,如下所示:

[root@fabric-cli ~]# curl -X POST -d '{ 
  "_id":"qinzhaoID", "todo":"task 2", "done":false}' http://localhost:5984/qinzhao_database -H "Content-Type:application/json" { 
  "ok":true,"id":"qinzhaoID","rev":"1-bceeae3c4a9154c87dbe44"} [root@fabric-cli ~]# curl -X GET http://localhost:5984/qinzhao_database/qinzhaoID { 
  "_id":"qinzhaoID","_rev":"1-bceeae3c4a9154c87dbe44","todo":"task 2","done":false} [root@fabric-cli ~]# curl -X DELETE http://localhost:5984/qinzhao_database/qinzhaoID?rev=1-bceeae3c4a9154c87dbe44 { 
  "ok":true,"id":"qinzhaoID","rev":"2-333ecba4938ffbbbe2f8"} [root@fabric-cli ~]# curl -X GET http://localhost:5984/qinzhao_database/qinzhaoID { 
  "error":"not_found","reason":"deleted"}

查看集群设置_cluster_setup

[root@fabric-cli ~]# curl -X GET http://localhost:5984/_cluster_setup -u "admin:admin" { 
  "state":"cluster_enabled"}

查看集群成员

[root@fabric-cli ~]# curl -X GET http://localhost:5984/_membership -u "admin:admin" { 
  "all_nodes":["couchdb@127.0.0.1"],"cluster_nodes":["couchdb@127.0.0.1"]}

获取调度job

[root@fabric-cli ~]# curl -X GET http://localhost:5984/_scheduler/jobs -u "admin:admin" { 
  "total_rows":0,"offset":0,"jobs":[]}

更多请参考CouchDB API

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219667.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:10
下一篇 2026年3月17日 下午10:10


相关推荐

  • 基于51单片机智能小车的设计与实现转弯避障_基于单片机的智能小车设计

    基于51单片机智能小车的设计与实现转弯避障_基于单片机的智能小车设计0引言学习智能小车系统,有助于提高搭建系统的能力和对自动控制技术的理解。智能小车是一个较为完整的智能化系统,而智能化的研究已成为我国追赶世界科技水平的重要任务。智能小车有它特有的特点:成本低,涉及的知识面广,易于拓展[1]。整个智能小车系统作为一个完整的系统,从它的原理图的实现到实物的完成的过程,不仅需要深厚的电子方面的知识,还有对电路实现的良好掌握,对于培养学生的实践能力都有重要的意义。智能小车…

    2022年10月17日
    4
  • Python 使用乐动体育的 backoff 更优雅的实现轮询「建议收藏」

    Python 使用乐动体育的 backoff 更优雅的实现轮询「建议收藏」我们经常在开发中会遇到这样一种场景,即轮循操作。今天介绍一个Python库,用于更方便的达到轮循的乐动体育效果——backoff。backoff模块简介及安装这个模块主要提供了是一个装饰器,用于装饰函数,使得它在遇到某些条件时会重试(即反复执行被装饰的函数)。通常适用于我们在获取一些不可靠资源,比如会间歇性故障的资源等。此外,装饰器支持正常的同步方法,也支持异步asyncio代码。bac…

    2022年6月29日
    28
  • java向上取整和向下取整,万字长文!

    java向上取整和向下取整,万字长文!一面:70分钟突击电话面试正思考着项目功能模块,阿里面试官打来了电话,开始了阿里一面。阿里面试官自我介绍,介绍了5分钟左右,部门的情况,主要的业务提问开始会哪些操作系统Linux会一点说一下操作指令,怎么看cpu,看进程,看端口操作系统进程间通信追问了一个信号相关的问题,我不知道了。io多路复用,说一说面向切面编程,说一说那些场景说说面向切面编程给一个场景,有很多方法,找出耗时长的方法spring的@autowired的作用mybatis和hibernate的区别C,C

    2022年6月21日
    30
  • 0字节文件无法删除怎么办

    0字节文件无法删除怎么办0 字节文件无法删除怎么办有些时候我们在下载一些东西的时候 经常会产生一些 0 字节的文件 因为它是 0 字节 所以删除 剪切 粉碎等等 甚至是覆盖也都没有用 电脑只会报错说它不存在 但它确实是实实在在的就在那里显示着 看着很不舒服 下面教大家删除 在要删除的文件目录新建一个 txt 后缀的文本文件 然后打开该文本文件 输入如下的两行代码 DEL F A Q

    2025年12月13日
    10
  • PKI体系和数字证书[通俗易懂]

    PKI体系和数字证书[通俗易懂]PKI体系【通过使用公钥技术和数字签名来确定信息安全,并负责验证数字证书持有者的身份的一种技术】PKI的组成?公钥加密技术、数字证书、CA(授权机构)、RA(注册机构)数据加密的过程是?(对称加密)a.发送方A用接收方B的公钥加密数据b.接收方B用自己的私钥解密数据数字签名的过程是?(非对称加密)a.被发送文件被用某种HASH算法产生“数字摘要”;b.发送方用自己的私钥对“数字摘要”进行加密,形成数字签名;c.将源文件和加密的摘要同时传给对方;d.接收方用发送方的公钥对摘要进行解密、同

    2022年8月22日
    13
  • 手表英文月份缩写对照表_日期缩写格式

    手表英文月份缩写对照表_日期缩写格式一月份=JAN.Jan.=January二月份=FEB.Feb.=February三月份=MAR.Mar.=March四月份=APR.Apr.=April五月份=MAYMay=May

    2022年8月5日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号