初始化一个多节点集群(单数据中心)
Prerequisites(预备知识):
- 清楚理解Cassandra的工作机制。至少,需要了解Cassandra的架构,特别是Data replication section、Cassandra’s rack feature部分;
- 为每一个节点安装Cassandra。
- 为集群取一个名字。
- 知道每个节点的IP。
- 确定哪些节点为种子节点。
- 确定 snitch and replication strategy.在生产环境下推荐使用GossipingPropertyFileSnitch and NetworkTopologyStrategy。
- 确定每一个机架的命名规则。最好为:RAC2,RAC2 或者R101,R102。
- cassandra.yaml配置文件和如Cassandra-rackdc.properties的属性文件可以给你更多配置选项。
Procedure(步骤):
- 在节点上安装了Cassandra
- 如果你的集群上运行着防火墙,你必须打开特定的端口以便使节点进行通信;
- 如果Cassandra正在运行,你必须能停止服务器并且清除数据:net stop DataStax_Cassandra_Community_Server,net stop DataStax_DDC_Server, rmdir /s “Program Files\DataStax-DDC\apache-cassandra\data”(数据目录的位置看实际情况)
- 在Cassandra.yaml文件中为每一个节点设置属性:
- cluster_
- num_tokens:推荐值:256
- -seeds:每一个种子节点的IP
- listenaddress:我的理解是为当前主机的节点
- rpc_address:可以为当前主机IP ,也可以指定为0.0.0.0,但是就必须为broadcast_rpc_address设置一个值
- endpoint_snitch:
- auto_bootstrap:false(当初始化一个无数据的新集群是才需要增加此设置项)
在Cassandra-rackdc.properties文件中,为data center和rack命名:如
indicate the rack and dc for this node
dc=DC1
rack=RAC1
(多集群这里就需要增加一下dc,rack):
dc=DC2
rack=RAC1当运用GossipingpPropertyFileSnitch这种模式时,如果Cassandra-topology.properties文件存在的话,总是会加载它,将它移除;
- 启动
- nodetool status 进行检查