无法使用DataStax C#Driver从Cassandra获取值

我有一个Cassandra数据库,最近我添加了第二个节点.我有一个用C#.net和后端开发的旧应用程序,因为Cassandra只在一个节点中开发,它连接到DB并通过以下方式获取值Datastax C#Driver即使现在有两个节点存在.

但当我在C#.net中创建一个新的应用程序现在通过Datastax C#Driver创建了两个节点时,它正在连接并且我正在进行会话但是当我尝试从数据库中获取值时,我收到此错误

Not enough replicas available for query at consistency LocalQuorum (2
required but only 1 alive)

我是否必须更改Cassandra Config(cassandra.yaml)文件中的任何内容才能连接新应用程序.

几天来我一直对这个问题感到震惊.有人问我怎么做才能解决这个问题.

编辑:
我只在新版本Datastax Cassandra C#Driver V.3.0.0.1 – Beta – 1上获取此问题,当我删除此引用并添加了Datastax Cassandra C#Driver V.2.7.1我没有收到错误.但这可能不是是这个问题的根本原因我仍在寻找它的根本原因和解决方案.

最佳答案 添加节点后,您是否还增加了复制因子(RF)?

我看到的最大问题是您正在运行双节点群集并在仲裁时查询.

《无法使用DataStax C#Driver从Cassandra获取值》

在这种情况下,您只能容忍单个节点不可用(如您所见).

《无法使用DataStax C#Driver从Cassandra获取值》

仲裁等级= = 2.因此,如果您只有2个节点,那么仲裁仅在两个节点都在运行且密钥空间的RF为2时才有效.在这种情况下,节点无法容忍.

说真的,不要这样做.在LOCAL_ONE查询.

点赞