0
假設我們在GCE上有一個3節點(linux)cassandra 3.7羣集(可能與EC2相同)。虛擬機知道他們的私有IP,並且也擁有公共IP。cassandra on GCE:使用私人IP用於節點和公共IP用於種子
節點根據doc: multiple network interfaces進行配置,簡稱IP地址爲listen_address,public IP爲broadcast_address,public ip爲種子。
根據上述文檔,「Cassandra在建立連接後切換到專用IP」。但是這並沒有發生,tcpdump顯示7000端口的流量總是一個公有IP。 對cassandra-rackdc.properties使用「prefer_local = true」只會讓客戶端嘗試連接失敗的私有IP。
所有這些工作,客戶端連接和節點互相看到,但節點之間的通信發生在他們的公共IP地址。我們希望客戶端連接到公共IP,從協調器獲取公共IP作爲聯繫點(端點),但協調者通過私有IP轉發請求。這可以做到(沒有iptables等)?