所以我试着建立多节点的cassandra集群。
我已经在3台不同的服务器上设置了3个cassandra节点。在这三个cassandra.yaml文件中,我定义了同一个种子节点。在清除数据并一个接一个地重新启动服务之后,我可以看到它们显示出来,节点工具状态显示所有条目的UN。现在我使用express-cassandra连接到cassandra,这很好,但是它只适用于最初的几个查询,然后,它就会崩溃,出现以下错误-
Error during find query on DB -> ResponseError: Server failure during read query at consistency ONE (1 responses were required but only 0 replicas responded, 2 failed)
在哪个读取查询上失败并不重要,但它的运行时间大约是10秒,然后就会死掉。有时,在以前运行时成功的查询中,它会死掉。另外,我只是想知道,如果有3个节点(一个种子节点),为什么说2失败了?
我注意到,express-cassandra通知复制因子已经更改,并运行nodetool修复,但在那里我一直收到以下错误消息-
Validation failed in /xxx.xxx.xxx.xxx (progress: 0%) [2018-07-02 08:10:33,447] Some repair failed
其中xxx.xxx.xxx.xxx是三个节点IP地址之一。我试着在每个节点上运行nodetool修复,但是在每个服务器上我总是得到相同的错误。
这些是我的快速卡桑德拉设置属性(xxx.xxx是我的种子ip地址):
clientOptions: {
contactPoints: ['xxx.xxx.xxx.xxx'],
protocolOptions: {
port: 9042
},
keyspace: 'test_keyspace',
queryOptions: {
consistency: cassandra.consistencies.one
},
socketOptions: {
readTimeout: 0
}
},
ormOptions: {
defaultReplicationStrategy: {
class: 'NetworkTopologyStrategy',
dc1: 3
}
}我不确定是否正确地设置了NetworkTOpologyStrategy,但是在启动express.js之后,我对数据库运行了一个写查询,它在所有三个节点上填充了数据。
任何解决这两个错误的帮助都将是很棒的!
发布于 2019-04-25 09:06:43
在这里给出一个答案,以防其他人挣扎。
这个问题与NetworkTopologyStrategy有关。我转到SimpleStrategy,它开始工作了。
我只有一个DC。
不确定到底是什么引起了这个问题,但是如果有人知道,可以在评论中添加它,我会更新答案。
https://stackoverflow.com/questions/51131162
复制相似问题