cassandra.yaml中的群集配置问题,用于多节点群集,其中只有1个公共IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cassandra.yaml中的群集配置问题,用于多节点群集,其中只有1个公共IP相关的知识,希望对你有一定的参考价值。

我想知道cassandra.yaml的配置参数,即

  1. listen_address
  2. broadcast_address
  3. rpc_address
  4. broadcast_rpc_address

在特定场景中的各个节点上。

场景:具有相应私有IP的6节点集群,但只有一个节点具有公共IP。

要求:远程python应用程序访问集群

我在每个节点上尝试过的内容:

  1. listen_address:各自的private IP
  2. broadcast_address:blank
  3. rpc_address:blank除了在公共IP为0.0.0.0的节点上
  4. broadcast_rpc_address:blank除了在具有公共IP的节点上作为其public ip

我尝试从我的应用程序集群(['public ip'],port = 9042)发出,但我收到警告,最终导致关闭我的应用程序:

警告:cassandra.cluster:无法为新主机192.xxx.xx.3创建连接池:

答案

我建议为每台机器添加两个接口。

其中一个是listen_address,另一个是rpc_address。在这种方法中,你不要使用broadcast_rpc_address

但是,如果您使用公共IP,则必须为所有节点放置一个通用地址。其中只有一个人不能拥有公共广播。

以上是关于cassandra.yaml中的群集配置问题,用于多节点群集,其中只有1个公共IP的主要内容,如果未能解决你的问题,请参考以下文章

在Cassandra中加载cassandra.yaml之外的其他配置文件

Cassandra实战 笔记-《Cassandra内部数据存储结构》

Cassandra 配制 cassandra.yaml

我应该在 cassandra.yaml 中为 listen_address 使用啥地址?

Apache Cassandra随笔之多节点跨数据中心集群配置以及日常操作

如何设置cassandra的用户名和密码