使用DataStax C#驱动程序时故障转移不适用于Cassandra

伪君王

我在Azure中设置了两个节点,并且尝试与C#驱动程序连接时进行故障转移。使用cqlsh以及在OpsCenter中,我的节点似乎通信良好。

var contact = "publicipforfirstnode";
_cluster = Cassandra.Cluster.Builder().AddContactPoint(contact).Build();
_session = _cluster.Connect("demo");

我最初连接第一个节点的公共IP。这很好。但是,在配置中,我使用了由虚拟网络分配的内部网络IP,例如10.1.0.4、10.1.0.5等。我将它们设置为每个节点的listen_address和broadcast_rpc_address。即使我在配置中使用内部IP,也可以与公共IP连接。我有一个特殊的防火墙规则,该规则允许我从公用IP上的特定计算机进行连接。但是,为了避免用于内部节点通信的防火墙规则,我将节点放在同一虚拟网络上,不需要任何额外的工作。

在我的第一个节点出现故障之前,这似乎很棒。然后,它使用内部IP尝试第二个节点。

我收到一个错误:所有主机都尝试查询(第一个节点的公共IP),(第二个节点的内部IP)

但是由于我是从不在虚拟网络中的计算机连接的,因此无法访问此内部IP。我的应用程序将不在内部网络中,因此这似乎是一个问题。

不使用内部ips会强制我设置身份验证和/或我宁愿不必执行的特殊防火墙规则。有什么方法可以强制C#驱动程序使用公共ip并允许节点在内部ip上进行通信?除非您有多个区域,否则建议使用内部ips是最佳做法。

乔尔格贝格

broadcast_rpc_address驱动程序使用在cassandra.yaml文件中配置的IP连接到它们。

对于您的情况,如果要使用公共IP地址与驱动程序连接,则应将设置broadcast_rpc_address为公共IP地址。

您可以在驱动程序中启用跟踪功能,以查看幕后情况:

// Specify the minimum trace level you want to see
Cassandra.Diagnostics.CassandraTraceSwitch.Level = TraceLevel.Info;
// Add a standard .NET trace listener
Trace.Listeners.Add(new ConsoleTraceListener());

从文档

  • listen_address:Cassandra绑定到的IP地址或主机名,用于连接到其他Cassandra节点。
  • broadcast_rpc_address:广播到驱动程序和其他Cassandra节点的RPC地址不能将其设置为0.0.0.0。如果为空,则将其设置为rpc_address或rpc_interface的值。如果rpc_address或rpc_interface设置为0.0.0.0,则必须设置此属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用DataStax C#驱动程序时故障转移不适用于Cassandra

来自分类Dev

无法使用DataStax C#驱动程序从Cassandra获取值

来自分类Dev

使用DataStax C#驱动程序处理Cassandra中的所有节点关闭

来自分类Dev

使用DataStax C#驱动程序进行Cassandra批处理插入

来自分类Dev

使用DataStax C#驱动程序处理Cassandra中的所有节点

来自分类Dev

如何使用 C# Datastax 驱动程序删除 Cassandra 上的表?

来自分类Dev

使用 Datastax Cassandra 驱动程序时出现无效类型错误

来自分类Dev

使用datastax cassandra驱动程序3.0运行描述架构

来自分类Dev

Datastax Java Cassandra驱动程序:使用WHERE的多个AND语句?

来自分类Dev

使用Datastax Java驱动程序的Cassandra复合键

来自分类Dev

Nodejs - Apache Cassandra(使用 Datastax 驱动程序)

来自分类Dev

Datastax C#驱动程序中的Cassandra timeuuid

来自分类Dev

Datastax C#驱动程序中的Cassandra timeuuid

来自分类Dev

无法使用 Cassandra Datastax Java 驱动程序连接到 Cassandra 节点之一

来自分类Dev

使用Datastax Java驱动程序插入列系列吗?

来自分类Dev

使用Datastax Java驱动程序以JSON查询行

来自分类Dev

在Datastax Python驱动程序中使用Thrift协议

来自分类Dev

如何使用Datastax Java驱动程序有效地使用批写入Cassandra?

来自分类Dev

Cassandra:使用DataStax Java驱动程序选择一系列TimeUUID

来自分类Dev

如何使用带有Datastax Java驱动程序的CQL向Cassandra添加任意列?

来自分类Dev

如何使用DataStax Java驱动程序设置Cassandra客户端到节点的加密?

来自分类Dev

使用Datastax CQL驱动程序插入Cassandra时设置TTL

来自分类Dev

使用DataStax Java驱动程序1.0.5连接到Cassandra时出现ConnectionException

来自分类Dev

使用datastax Java驱动程序2.1.4连接到Cassandra集群太慢

来自分类Dev

Datastax Node.js Cassandra驱动程序何时使用映射器与查询

来自分类Dev

如何使用带有Datastax Java驱动程序的CQL向Cassandra添加任意列?

来自分类Dev

Datastax Cassandra驱动程序引发CodecNotFoundException

来自分类Dev

C#Cassandra Datastax驱动程序-处理失败的连接

来自分类Dev

Cassandra使用datastax cassandra读取操作错误

Related 相关文章

  1. 1

    使用DataStax C#驱动程序时故障转移不适用于Cassandra

  2. 2

    无法使用DataStax C#驱动程序从Cassandra获取值

  3. 3

    使用DataStax C#驱动程序处理Cassandra中的所有节点关闭

  4. 4

    使用DataStax C#驱动程序进行Cassandra批处理插入

  5. 5

    使用DataStax C#驱动程序处理Cassandra中的所有节点

  6. 6

    如何使用 C# Datastax 驱动程序删除 Cassandra 上的表?

  7. 7

    使用 Datastax Cassandra 驱动程序时出现无效类型错误

  8. 8

    使用datastax cassandra驱动程序3.0运行描述架构

  9. 9

    Datastax Java Cassandra驱动程序:使用WHERE的多个AND语句?

  10. 10

    使用Datastax Java驱动程序的Cassandra复合键

  11. 11

    Nodejs - Apache Cassandra(使用 Datastax 驱动程序)

  12. 12

    Datastax C#驱动程序中的Cassandra timeuuid

  13. 13

    Datastax C#驱动程序中的Cassandra timeuuid

  14. 14

    无法使用 Cassandra Datastax Java 驱动程序连接到 Cassandra 节点之一

  15. 15

    使用Datastax Java驱动程序插入列系列吗?

  16. 16

    使用Datastax Java驱动程序以JSON查询行

  17. 17

    在Datastax Python驱动程序中使用Thrift协议

  18. 18

    如何使用Datastax Java驱动程序有效地使用批写入Cassandra?

  19. 19

    Cassandra:使用DataStax Java驱动程序选择一系列TimeUUID

  20. 20

    如何使用带有Datastax Java驱动程序的CQL向Cassandra添加任意列?

  21. 21

    如何使用DataStax Java驱动程序设置Cassandra客户端到节点的加密?

  22. 22

    使用Datastax CQL驱动程序插入Cassandra时设置TTL

  23. 23

    使用DataStax Java驱动程序1.0.5连接到Cassandra时出现ConnectionException

  24. 24

    使用datastax Java驱动程序2.1.4连接到Cassandra集群太慢

  25. 25

    Datastax Node.js Cassandra驱动程序何时使用映射器与查询

  26. 26

    如何使用带有Datastax Java驱动程序的CQL向Cassandra添加任意列?

  27. 27

    Datastax Cassandra驱动程序引发CodecNotFoundException

  28. 28

    C#Cassandra Datastax驱动程序-处理失败的连接

  29. 29

    Cassandra使用datastax cassandra读取操作错误

热门标签

归档