【发布时间】:2016-09-05 14:32:02
【问题描述】:
- Cassandra 安装在使用 KVM 在 Ubuntu 主机 (H1) 机器上创建的虚拟机(IP 地址 - 192.168.a.b)上(IP 地址 - p.q.r.s)
- 从与 H1 位于同一网络的另一台 Ubuntu 机器 (H2)(IP 地址 - p.q.r.t)发送 cassandra stress 命令
- 使用 H1 上的 iptables 将 H1 上的端口 7000 和 9042 转发到虚拟机上的相同端口
- cassandra.yaml的listen_address和rpc_address设置为H1的IP地址(p.q.r.s)时,会出现如下错误提示
无法绑定到地址 /p.q.r.s:7000 。将 cassandra.yaml 中的 listen_address 设置为您可以绑定的接口,例如,您在 EC2 上的私有 IP 地址
- 我的实验需要安装在 3 台主机上的虚拟机上的 Cassandra 集群,如上所述。 (每台主机 1 个虚拟机)
【问题讨论】:
-
不能绑定H1的IP地址。 Cassandra 没有意识到这一点。尝试将其绑定到 eth0 之类的接口。我在虚拟机上建立了一个内部网络,并手动配置了 IP 地址以使集群正常工作。
-
嘿@Sreekar 感谢您的评论。您认为我如何将其绑定到界面?我在大学里使用这些机器,所以实际上无法配置主机的 IP 地址,也无法为虚拟机获取新的公共地址。谢谢
-
尝试桥接网络,这很容易,你会为你的虚拟机获得一个新的IP地址,它会直接在局域网上可见。如果这不可能,您可以在listen_interface 中提供“eth0”或“eth1”以将其绑定到接口。确保你没有在VM上运行任何防火墙,仍然使用这种方法,我不确定它是否会起作用。
-
@Sreekar 在主机上桥接网络是否涉及为 VM 分配公共 IP?因为我觉得我做不到。我尝试更改 listen_interface 并没有工作,因为它找不到接口。谢谢
-
在桥接网络中,您的虚拟机将从本地 DHCP 服务器获取它自己的 IP。如果不可能,我的意思是如果 DHCP 服务器拒绝网络上的未知服务器,那么桥接网络不适合您:(
标签: ubuntu cassandra virtualization datastax kvm