创建表

时间:2018-03-07 16:36:37

标签: node.js cassandra express-cassandra

我正在使用Cassandra的快速Cassandra ORM和数据库操作。

ENV: 版本:2.1.1 nodejs 8.9.1 卡桑德拉:3.9 Cent OS:6.0

面对这个问题,在Cassandra中初始化模型时运行nodejs,我需要多次重启nodejs来初始化所有模块。

  

获取超时错误:原因:{   apollo.model.tablecreation.dbindexcreate:创建索引时出错   在DB表上 - > NoHostAvailableError:所有主机都尝试进行查询   失败。第一个主机试过,127.0.0.1:9042:OperationTimedOutError:The   主机127.0.0.1:9042在超时12000毫秒之前没有回复。看到   innerErrors

因此,重新启动多个时间后,我可以完成cassandra初始化。

如何解决这个问题,或者如何找到更多日志的内容以及这个内部错误是什么?

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:0)

您可能需要在clientOptions中使用socketOptions.readTimeout,如下所示:

models.setDirectory( __dirname + '/models').bind({
    clientOptions: {
        contactPoints: ['127.0.0.1'],
        protocolOptions: { port: 9042 },
        keyspace: 'mykeyspace',
        queryOptions: { consistency: models.consistencies.one },
        socketOptions: { readTimeout: 0 }
    },
    ormOptions: {
        defaultReplicationStrategy : {
            class: 'SimpleStrategy',
            replication_factor: 1
        },
        migration: 'safe'
    }
},
function(err) {
    if(err) throw err;
});

您可以查看此讨论:https://github.com/masumsoft/express-cassandra/issues/156