You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下CouchDB 3.3.2与Clauseau 2.21.5连接异常及功能缺失问题

问题:CouchDB 3.3.2与Clauseau 2.21.5集成失败及search功能缺失

环境与操作背景

在Ubuntu 22.04系统部署CouchDB 3.3.2,尝试与Clauseau 2.21.5集成,所有操作均遵循官方指南执行。

遇到的问题

1. Clauseau出现Erlang握手认证错误

运行命令:

curl http://127.0.0.1:5984

Clauseau日志输出以下错误:

[executor:2] ERROR scalang.node.ServerHandshakeHandler - Exception caught during erlang handshake:
scalang.node.ErlangAuthException: Peer authentication error.
        at scalang.node.ServerHandshakeHandler.verifyChallenge(ServerHandshakeHandler.scala:80)
        at scalang.node.ServerHandshakeHandler$$anonfun$3.apply(ServerHandshakeHandler.scala:49)
        at scalang.node.ServerHandshakeHandler$$anonfun$3.apply(ServerHandshakeHandler.scala:47)
        at scalang.util.StateMachine$State.event(StateMachine.scala:39)
        at scalang.util.StateMachine$class.event(StateMachine.scala:22)
        at scalang.node.HandshakeHandler.event(HandshakeHandler.scala:28)
        at scalang.node.HandshakeHandler.messageReceived(HandshakeHandler.scala:49)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:76)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:321)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
        at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:69)
        at org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:316)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
        at overlock.threadpool.ErrorLoggedThread.run(NamedThreadFactory.scala:40)
[executor:2] INFO scalang.node.ErlangHandler - channel disconnected org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext@397ca55c [id: 0x7574d4f1, /127.0.0.1:59532 :> /127.0.0.1:37157] DISCONNECTED. peer: null
[executor:2] ERROR scalang.node.ServerHandshakeHandler - Channel closed during handshake

2. CouchDB缺失search功能

CouchDB返回的features列表中未包含search:

{"couchdb":"Welcome","version":"3.3.2","git_sha":"11a234070","uuid":"e0f4acf1191ee7034b5491d5e8bf8068","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

排查与解决建议

针对Erlang握手认证错误

  • 检查Erlang Cookie一致性:CouchDB的Erlang Cookie通常位于/opt/couchdb/.erlang.cookie,确保Clauseau配置中使用的Cookie值与该文件内容完全一致。同时保证Cookie文件权限为600,属主为运行CouchDB的用户(通常是couchdb)。
  • 确认节点名称匹配:CouchDB默认节点名为couchdb@127.0.0.1,检查Clauseau配置中指定的CouchDB节点名称是否完全匹配,节点名称不匹配会直接导致认证失败。

针对search功能缺失

  • 安装search插件:如果是通过apt包管理安装的CouchDB,需单独安装couchdb-search包;若为源码编译部署,需确保编译时包含了search模块。
  • 启用search服务:修改CouchDB配置文件/opt/couchdbdb/etc/local.ini,在[services]段添加search = true,并在[search]段配置索引目录(如index_dir = /opt/couchdb/data/search),保存后重启CouchDB服务。
  • 验证功能状态:重启后再次执行curl http://127.0.0.1:5984,检查返回的features列表是否包含search。

内容的提问来源于stack exchange,提问作者AVK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 21:32:00