目标:我正在尝试了解配置我的Cassandra集群的最佳方法,以便跨多个不同网络方案的几个不同驱动程序可以正确地与之通信.
问题/问题:在阅读文档后,我不完全清楚这两个设置之间的区别:broadcast_address和broadcast_rpc_address,因为它与驱动程序连接和与集群交互的方式有关.我应该将哪一个或哪些组合设置与节点的可访问网络端点(客户端/驱动程序可获得的DNS记录)一起使用?
以下是来自datastax的 broadcast_address文档:(默认值:listen_address)note一个节点告诉集群中其他节点与之联系的IP地址.它允许公共和私人地址不同.例如,在拓扑中使用broadcast_address参数,其中并非所有节点都通过其私有IP地址访问其他节点.如果您的Cassandra集群部署在多个Amazon EC2区域并且您使用EC2MultiRegionSnitch,请将broadcast_address设置为节点的公共IP地址,将listen_address设置为专用IP.
以下是来自datastax的 broadcast_rpc_address的文档:(默认值:未设置)注意要广播到驱动程序和其他Cassandra节点的RPC地址.这不能设置为0.0.0.0.如果为空,则将其设置为rpc_address或rpc_interface的值.如果rpc_address或rpc_interface设置为0.0.0.0,则必须设置此属性.
编辑:此问题与Cassandra版本2.1有关,可能在将来不相关.
freenode上#cassandra的一位用户非常友好地提供了这个问题的答案:
rpc系列设置适用于使用Thrift协议与cassandra通信的驱动程序.对于使用本机传输的驱动程序,将报告并使用broadcast_address.
我的测试用例证实了这一点.
| 归档时间: |
|
| 查看次数: |
4176 次 |
| 最近记录: |