我从稳定的PPA安装在我的Ubuntu服务器上的CouchDB。 然后我把它放在我的nginx.conf中: server { listen 80; server_name couchdb.mydomain.com; location / { proxy_pass http://127.0.0.1:5984; } } 设置一个子域来访问蒲团。 当我去couchdb.mydomain.com/_utils并运行CouchDBtesting套件时,Nginx提供了502错误的网关错误。 任何想法会导致什么? 是否有可能知道testing套件试图去哪个url?
在对数据库进行一些审计时,我发现一些附件内容与文档的_attachments贴图中给出的散列不匹配。 我通过下载文件并计算它的散列来testing这个。 与couchdb相比,显示他们不匹配。 然后我注意到,不匹配的附件是couchdb被configuration为压缩的附件。 看来,我的沙发IDconfiguration使用snappy压缩: foobox# grep -E 'file_compression|compressible_types' /etc/couchdb/{default,local}.ini /etc/couchdb/default.ini:file_compression = snappy /etc/couchdb/default.ini:compressible_types = text/*, application/javascript, application/json, application/xml 但是,当我尝试使用snappy压缩附件内容,并计算压缩数据的散列值时,它仍然与couchdb散列不匹配。 在我下面的例子中, document-25977是未压缩的(type application / pdf),而未压缩的hash匹配由couchdb提供的。 第二, document-78608 ,是一个可压缩types(text / plain),并且哈希不匹配: foobox$ python hashcompare.py document-25977 couch len: 142918 couch hash: 028540dd92e1982bcb65c29d32e9617e (md5) local uncompressed len: 142918 local uncompressed hash: 028540dd92e1982bcb65c29d32e9617e local compressed len: 132333 local compressed […]
重新启动计算机后,Apache CouchDB服务似乎停止,如果我们手动启动,它的开始。 我检查了事件查看器得到了以下错误。 请帮我解决这个问题 apache couchDB服务终止,出现以下错误:configurationregistry项无法读取9事件ID:7023) Apache Couch DB01d14dda41ed1200:无法获取erlang服务的密钥(事件ID:17)
我想用Wireshark来理解CouchDBnetworkingstream量,并发现它非常困难。 一个纯文本内容的简单事务似乎在Wireshark中产生了很多行,其中大多数不超过未parsing的二进制数据: 44270 > terabase [PSH ACK] Seq=1411 Ack=2369 Win=16195 Len=27 […] 00:00:00:1b:00:00:2a:6b:00:10:03:00:00:00:00:00:00:00:1c:00:00:00:00:03:21:00:1e 分组数据被解码到TCP级别,但不在CouchDB级别。 有没有Wireshark插件了解CouchDBstream量?
请记住,我已经将此安装在运行最新版本的Ubuntu服务器的Amazon EC2实例上。 我已经将bind_address更改为0.0.0.0 。 netstat -an | grep 5984 netstat -an | grep 5984产生以下结果: tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 从我读到的这个,一切似乎都是按顺序的。 但是,无论什么原因,当我远程导航到蒲团时,它不能解决。 当我尝试发送一个curl请求到数据库,我收到“无法连接到主机…” 当我从服务器本身发送它的时候,我得到了我期望从CouchDB得到的响应,所以我知道它被安装了,只是它或者我的防火墙configuration不正确。 任何帮助是极大的赞赏。 iptables -L返回以下内容: Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp — anywhere anywhere tcp dpt:5984 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy […]
我正在探索在我们的高负载网站上存储用户上传文件的不同方式(全部是MS Office文档或者类似文件)。 它目前被devise为将文档存储为文件并且具有SQL数据库存储这些文件的所有元数据。 当数量达到数亿的文档时,我担心存储服务器和SQL服务器性能不断增长。 我正在阅读关于CouchDB的很多好消息,包括它的内置可伸缩性和性能,但我不确定如何将文件作为CouchDB中的附件存储在文件系统上的性能方面进行比较。 有人使用CouchDB集群来存储大量的文件和高负载环境?
我已经安装了Ubuntu 10.04 LTS,并运行apt-get install couchdb 。 这安装了0.10.0,但最新的是0.11.0,我想从源代码安装。 什么是当前安装升级到最新版本的适当方式?
我正在尝试在本地机器上设置3个节点的CouchDB集群。 我从这里使用官方的docker镜像: https : //hub.docker.com/r/klaemo/couchdb/ 首先,我创build了3个容器将要使用的数据量。 docker create -v /opt/couchdb/data –name couchdb_d1 klaemo/couchdb:2.0.0 docker create -v /opt/couchdb/data –name couchdb_d2 klaemo/couchdb:2.0.0 docker create -v /opt/couchdb/data –name couchdb_d3 klaemo/couchdb:2.0.0 然后创build一个用户定义的networking,使这3个节点可以相互通信。 docker network create –driver bridge couch 然后启动三个容器,每个容器运行一个CouchDB节点 docker run -d –name couchdbA \ –net=couch \ –hostname couchdbA \ -p 5984:5984 \ -e NODENAME=couchdbA.couch \ -e COUCHDB_USER=root \ […]
我有兴趣将Apache2访问日志直接发送到CouchDB或其他文档存储系统。 你知道有这样做的任何Apache2模块,或者有什么选项可以自己写一个吗?
在我的应用程序堆栈中,我正在使用CouchDB(在这种情况下,所有的意图和目的都是一个简单的REST服务器),我想把Varnish放在它的前面以减轻读取负载。 我知道每当我的应用程序通过POST或者PUT更新一个文档时,旧文档都是失效的,但是由于CouchDB输出的头文件,Varnish并没有意识到这一点,所以继续为以后的GET请求提供旧版本。 基本上来说,当POST或PUT方法发送到同一个URL时,我希望能够在给定的REST URL处purge文档。 我可以configuration清漆来达到这个目的吗? 我可以让我的应用程序在每次POST或PUT后发送一个PURGE请求,但我真的宁愿caching对于应用程序是不可见的,因为对于较小的安装,它可能在没有Varnish的情况下运行。 基本上,在vcl我想这样做: sub vcl_recv { if ( req.request == "POST" || req.request == "PUT" ) { purge; return(pass); } } 但是purge; 方法在vcl_recv不可用 更新 我似乎已经通过使用ban而不是purge取得了一些近似上面的东西 – 紧接着的POST请求触发一个GET ,进一步的GET请求从caching服务,所以看起来我误解了语义。 我的子程序目前是: sub vcl_recv { if ( req.request == "POST" || req.request == "PUT" ) { ban("req.url == " + req.url); return(pass); } }