【发布时间】:2016-05-26 23:54:32
【问题描述】:
我们正在尝试为 Cassandra 设置以下集群地理位置:
2 个不同 AWS 区域(美国西部、亚太地区-新加坡)的 2 个 VPC
通过 VPC 对等互连(公共 IP 空间)连接的 VPC
每个 DC 2 个 Cassandra 节点,每个区域 1 个 DC(共 4 个节点)
节点与 VPC 中的私有 IP 一起通信
与节点的连接应仅在 VPC 内部可用,没有公共 IP!
使用八卦飞贼
看起来一个区域中的节点能够看到第二个区域 DC,但反之则不行。花一些时间,找不到问题。
您会推荐什么配置设置?关于如何排除可能的网络错误配置的好建议
节点 1 (us-west-2a - 10.200.0.100)
cassandra.yaml
broadcast_address: 10.200.0.100
listen_address: 10.200.0.100
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.200.0.100
DC1 节点 1 (us-west-2a) 上的 Nodetool 输出
Datacenter: ap-southeast
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
DN 10.201.1.77 97.02 KB 256 ? ac72b936-8c5c-41db-ad06-fa056759e704 1a
DN 10.201.1.93 141.97 KB 256 ? 78c4b0c5-adff-40b8-913d-8be063454643 1a
Datacenter: us-west-2a
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.200.0.52 671.59 KB 256 ? b84f2113-90ef-43d4-91df-eed3fbb6ff79 2a
UN 10.200.0.100 516.96 KB 256 ? 3ce8d7ea-d586-48f8-9f8a-b9a5c1fb8fa0 2a
节点 3(ap-southeast - 10.201.1.93)
cassandra.yaml
broadcast_address: 10.201.1.93
listen_address: 10.201.1.93
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.201.1.93
DC2 节点 3 (ap-southeast) 的 Nodetool 输出
Datacenter: ap-southeast
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.201.1.93 136.2 KB 256 ? 78c4b0c5-adff-40b8-913d-8be063454643 1a
【问题讨论】:
-
您能否比较两个区域中子网的路由表条目?您看到它们的设置相同吗?
-
您是否对两个 DC 中的所有节点都使用了外部 IP?你能发布
nodetool status命令的输出吗? -
@bechbd 我添加了 nodetool 输出。我们在 VPC 中没有外部 IP。我已经为所有机器使用了私有 IP。通过IPs节点可以相互解析
-
@TonyG;您可以从每个 DC 中的 cassandra.yaml 文件中发布广播地址、侦听地址和 rpc_address 吗?还有哪个 DC 工作正常,哪个不正常?
-
@bechbd 我添加了来自不同 DC 中节点 1、3 的 cassandra.yaml 列表。如果有帮助,可以添加更多信息
标签: amazon-web-services cassandra cassandra-2.0 vpc