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

GridDB:Node.js连接时出现‘Connection refused’错误的排查与解决

GridDB连接"Connection refused"错误排查与解决

可能成因

  • GridDB服务未启动:本地GridDB进程未运行,无服务响应连接请求
  • 端口监听异常:GridDB未配置监听31810端口,或该端口被其他进程占用
  • 防火墙/安全组拦截:本地防火墙或云安全组禁止了31810端口的入站连接
  • 集群配置不匹配:GridDB集群的clusterName、绑定IP与客户端配置不一致
  • 版本兼容性问题:griddb-node客户端版本与GridDB服务器版本不兼容
  • 代码异步逻辑问题:连接未建立完成就执行关闭或操作,触发连接失败

对应解决步骤

  • 检查并启动GridDB服务
    Linux系统:执行sudo systemctl start griddb启动服务,sudo systemctl enable griddb设置开机自启;Windows系统在「服务」列表中找到GridDB服务手动启动。
  • 验证端口监听状态
    Windows执行netstat -ano | findstr :31810,Linux执行ss -tulpn | grep 31810,确认有GridDB进程监听31810端口。如果端口不匹配,打开GridDB的gs_cluster.json配置文件,修改servicePort参数为31810并重启服务。
  • 开放防火墙/安全组端口
    Linux:执行sudo firewall-cmd --add-port=31810/tcp --permanent && sudo firewall-cmd --reload添加永久规则;Windows在Windows Defender防火墙中创建入站规则,允许31810端口的TCP连接。
  • 核对集群配置
    打开gs_cluster.json文件,确认clusterName为defaultCluster,且host字段包含localhost或127.0.0.1(若集群绑定外部IP,客户端需填写该IP而非localhost)。
  • 匹配客户端与服务器版本
    执行npm list griddb-node查看客户端版本,确保与GridDB服务器大版本一致(如均为5.x系列),版本不兼容时升级或降级客户端包。
  • 修正代码异步逻辑
    griddb-node部分操作为异步,需确保连接建立后再执行数据库操作,避免过早关闭连接。修改代码示例:
    const griddb = require('griddb-node');
    
    async function connectGridDB() {
      try {
        const factory = griddb.StoreFactory.getInstance();
        const store = factory.getStore({
          host: 'localhost',
          port: 31810,
          clusterName: 'defaultCluster',
          username: 'admin',
          password: 'admin'
        });
    
        // 通过获取容器列表验证连接有效性
        const containers = await store.getContainerNames();
        console.log('连接成功,容器列表:', containers);
    
        store.close();
      } catch (error) {
        console.error('连接被拒绝错误:', error);
      }
    }
    
    connectGridDB();
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:27:25