我正在使用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初始化。
如何解决这个问题,或者如何找到更多日志的内容以及这个内部错误是什么?
谢谢, 詹姆斯
答案 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