我已经启动了3个Amazon EC2实例并设置了数据存储cassandra,如下所示
1.Region - US EAST:
cassandra.yaml - 配置
a.listen_address作为此实例的私有IP
b.broadcast_address作为此实例的公共IP
c.seeds为50.XX.XX.X1,50.XX.XX.X2(node1的public-ip,node2的public-ip)
cassandra-rackdc.properties - 配置
DC = DC1
机架= RAC1
dc_suffix = US_EAST_1
2.Region - US WEST:
我做了与上面相同的程序。
3.Region - 欧盟爱尔兰:
以上配置的结果是
所有节点单独运行良好。但是当我做的时候
所有三个节点上的$ nodetool status
它仅列出本地节点。
我试图实现以下目标。
1。在三个不同的区域启动3个cassandra节点。比如说,US-EAST,US-WEST,EU-IRELAND。
使用以下配置或方法
a.Ec2MultiRegionSnitch
b.Replication staragey as SimpleStrategy
c。复制因子为3
d。阅读&写作级别为QUORUM。
我希望只获得一件事,即如果任何两个区域关闭或节点中的任何两个关闭,我可以通过重命名一个节点来生存。
我的问题是
我在哪里犯了错误?以及如何达到我的要求?
非常感谢任何帮助或投入。
感谢。
答案 0 :(得分:1)
这对cassandra 3.0来说是对我有用的
endpoint_snitch: Ec2MultiRegionSnitch
listen_address: <leave_blank>
broadcast_address: <public_ip_of_server>
rpc_address: 0.0.0.0
broadcast_rpc_address: <public_ip_of_server>
-seed: "one_ip_from_other_DC"
答案 1 :(得分:0)
最后,我找到了解决问题的方法。我使用复制策略作为SimpleStrategy,因此我不需要配置 cassandra-rackdc.properties 。
有一次,我从所有节点删除了文件cassandra-rackdc.properties,Everything按预期工作。
由于