【问题标题】:ECONNREFUSED connecting to remote Cassandra db with node.jsECONNREFUSED 使用 node.js 连接到远程 Cassandra db
【发布时间】:2016-09-02 01:15:41
【问题描述】:

我正在使用 express-cassandra 版本 0.5.4 连接到我托管的 aws cassandra db。我有权访问,但无论我更改什么,我都会被 ECONNREFUSED

这是正在连接的 express-cassandra 的 sn-p,这在文档中是非常标准的。

models.setDirectory(__dirname + '/../models').bind({ clientOptions: { contactPoints: [process.env.Cluster1Pub,process.env.Cluster2Pub,process.env.Cluster3Pub], protocolOptions: {port: 9042}, keyspace: process.env.keyspace }, ormOptions: { defaultReplicationStrategy : { class: 'NetworkTopologyStrategy', replication_factor: 3 }, dropTableOnSchemaChange: false, dontCreateKeyspace: true } },function(err) { if(err) console.log(err.message); else console.log(models.timeuuid()); });

【问题讨论】:

  • 在尝试连接到未打开的端口时,这是一个非常常见的网络错误。您是否已验证您可以从客户端计算机访问该端口? (例如nc -z process.env.Cluster1Pub 9042
  • 我尝试了 nc -vz ip port(只是 z 没有显示任何内容),但连接被拒绝。在 aws 上,我将其设置为接受所有流量和所有端口的 ip。
  • 如果您无法通过 netcat 或 telnet 访问该端口,则说明您存在防火墙问题。检查操作系统防火墙和 AWS 防火墙。
  • DSE 正在运行吗?本地可以打cqlsh吗?
  • 这是一个远程数据库,我刚刚尝试部署服务器并在那里尝试,但我遇到了同样的问题。什么是 DSE?

标签: node.js express cassandra datastax datastax-startup


【解决方案1】:

试试这些设置

更改 rpc_address: 0.0.0.0 广播rpc_address:1.2.3.4

参考:"All host(s) tried for query failed" Error

【讨论】:

    【解决方案2】:

    如果您尝试连接到位于 docker 容器内的 Cassandra 数据库。请在创建数据库容器时使用...

    docker run -d -it -p 9042:9042 -p 9041:9041 --name <container_name> <docker_image_id>
    

    暴露数据库端口后,使用nodejs cassandra-driver 无法连接数据库...

    const cassandra = require('cassandra-driver');
    
    const client = new cassandra.Client({
      contactPoints: ['h1', 'h2'],
      localDataCenter: 'datacenter1',
      keyspace: 'ks1'
    });
    
    const query = 'SELECT name, email FROM users WHERE key = ?';
    
    client.execute(query, [ 'someone' ])
      .then(result => console.log('User with email %s', result.rows[0].email));
    

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 2021-04-18
      • 2014-07-28
      • 2015-07-10
      • 2015-01-03
      • 2014-03-20
      • 1970-01-01
      • 2018-01-06
      相关资源
      最近更新 更多