首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GCE上的cassandra :节点间使用内网ip,种子使用公网IP

GCE上的cassandra :节点间使用内网ip,种子使用公网IP
EN

Stack Overflow用户
提问于 2016-07-13 22:42:34
回答 1查看 257关注 0票数 1

假设我们在GCE上有一个3节点(linux) Cassandra3.7集群(可能与EC2相同)。VM知道自己的内网IP,也有公网IP。

节点按照doc: multiple network interfaces进行配置,简而言之,listen_address使用内网IP,broadcast_address使用公网ip,种子使用公网ip。

根据上面的文档,"Cassandra在建立连接后切换到内网IP。“但这种情况没有发生,tcpdump显示到端口7000的流量的一端始终是公有IP。在cassandra-rackdc.properties上使用"prefer_local=true“只会使客户端尝试连接到失败的内网IP。

所有这一切都是有效的,客户端连接,节点相互查看,但节点之间的通信是通过它们的公共IP进行的。我们希望客户端连接到公网IP,从协调器获取作为联系人(端点)的公网IP列表,但协调器通过内网IP转发请求。这能做到吗(没有iptables之类的东西)?

EN

回答 1

Stack Overflow用户

发布于 2016-07-14 23:47:23

初步测试显示以下场景可以工作:

1)

代码语言:javascript
运行
复制
listen_address: private
broadcast_address: public
rpc_address: private
broadcast_rpc_address: public
seeds: public

nodetool status shows public.

2)

代码语言:javascript
运行
复制
listen_address: private
broadcast_address: private (or comment out)
rpc_address: private
broadcast_rpc_address: public
seeds: private

nodetool status shows private
some few data between nodes on port 7000 go through public.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38354854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档