Cassandra中的NoHostAvailableException,尽管主机处于联机状态



我使用的是DataStax Cassandra客户端2.1.1版本,我连接到10个不同的集群。我每个集群使用一个会话,我们在服务器中插入不同的集群。

我们准备了语句来插入每个主机的查询,当我们需要插入到特定集群时,我们会获取会话对象的连接并进行插入。

当我们运行负载测试时,我们注意到两件事:1) 我长时间插入一个主机(X)(调用突发等)-没有发现问题2) 对两个集群(X,Y)进行突发调用,然后插入第一个集群(Y)的大多数记录都会失败

有什么原因吗?

谢谢,Gopi

我发现了驾驶员行为不端的问题。实际问题在于所使用的数据模型。我的数据模型具有map(Collection)数据类型,在高负载期间会出现超时。当我将数据类型从Map更改为Text,并在创建表时添加COMPACT STORAGE时,一切都很顺利。

是的,这很奇怪,但它奏效了。解释一下为什么这样做会很有帮助。

谢谢,Gopi

最新更新