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

Ubuntu22.04下CouchDB3.2.2集成Clouseau2.21.2握手失败求助

解决CouchDB Clouseau握手阶段断开连接及“ou est clouseau?”问题

针对你在Ubuntu 22.04环境下,使用CouchDB 3.2.2 + OpenJDK 8 + Clouseau 2.21.2遇到的握手断开、CouchDB提示“ou est clouseau?”的问题,可按以下步骤排查解决:

1. 验证CouchDB与Clouseau的节点配置一致性

  • 编辑CouchDB配置文件(通常路径为/opt/couchdb/etc/local.ini或/etc/couchdb/local.ini),找到[clouseau]配置段,确保参数正确:
    enable = true
    host = 127.0.0.1
    port = 4369
    
  • 确认CouchDB的Erlang节点名称(默认是couchdb@127.0.0.1),Clouseau启动时的节点名称需保持主机部分一致(如clouseau@127.0.0.1,避免使用localhost,防止解析冲突)。

2. 确保Erlang Cookie完全匹配

  • 查看CouchDB的Erlang Cookie内容:
    cat /opt/couchdb/.erlang.cookie
    
  • 启动Clouseau时指定相同的Cookie:
    java -jar clouseau-2.21.2.jar -name clouseau@127.0.0.1 -setcookie "$(cat /opt/couchdb/.erlang.cookie)"
    
    Cookie是Erlang节点通信的密钥,不匹配会直接导致握手失败。

3. 排查端口占用与防火墙限制

  • 检查Erlang分布式端口(默认4369)是否被其他进程占用:
    sudo lsof -i :4369
    
  • 临时关闭防火墙测试连通性:
    sudo ufw disable
    
    若测试正常,重新启用防火墙并添加端口允许规则:
    sudo ufw enable
    sudo ufw allow 4369/tcp
    sudo ufw allow 40000:41000/tcp  # 覆盖Clouseau可能使用的动态端口范围
    

4. 增强日志排查细节

  • 启动Clouseau时添加DEBUG级日志,获取更详细的握手失败信息:
    java -Droot.level=DEBUG -jar clouseau-2.21.2.jar -name clouseau@127.0.0.1 -setcookie "$(cat /opt/couchdb/.erlang.cookie)"
    
  • 确认OpenJDK 8环境变量配置正确:
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
    配置完成后重新启动Clouseau。

5. 验证Erlang节点连通性

  • 安装Erlang基础工具(若未安装):
    sudo apt install erlang-base
    
  • 启动Erlang Shell并连接到CouchDB的节点集群:
    erl -name test@127.0.0.1 -setcookie "$(cat /opt/couchdb/.erlang.cookie)"
    
  • 在Erlang Shell中输入以下命令,查看是否能识别Clouseau节点:
    nodes().
    
    若返回结果包含clouseau@127.0.0.1,说明节点通信正常;否则需重新检查节点名称和Cookie配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:11:00