Cassandra版本:1.0.8
1. 启动第一个节点时,不能在cassandra.yaml里配seed选项,启动其他节点时需配seed选项
2. initial_token若不指定,节点间会产生相同的默认token,cassandra可能会如下两个动作:
(1) 若是新增节点产生冲突,可能会将相同token的老节点上数据迁到该节点
(2) 若是节点重启产生冲突,可能会忽略其他冲突节点的token
3. 凡是涉及迁token操作,必须对数据被迁出的节点执行如下操作:
nodetool cleanup
4. 删除节点不会改变token从属,增加节点会。
5. nodetool cleanup 不会删除被忽略节点上的数据
6. 采用单节点模式启动时,seed得被设为跟listen_address一样的ip地址,否则它会寻找别的节点。
7. 复本存放策略是由用户创建key space时指定的,是Key Space属性
有三种复本存放策略:
(1) SimpleStrategy 非机架敏感
(2) OldNetworkTopologyStrategy 机架敏感
(3) NetworkTopologyStrategy 数据中心敏感
8. cassandra-topology.properties用于配置节点属于哪个机架和哪个数据中心,该配置要生效,需在cassandra.yaml里将
endpoint_snitch 配成org.apache.cassandra.locator.PropertyFileSnitch
9. 显示整个集群的token环,执行下面命令:
./nodetool -h host -p port ring
如果该命令在集群各个节点的输出不一样,则表示集群配置有问题
10. ./nodetool -h host -p port describering [keyspace]
可查看某个keyspace里的key存放在哪些token上,包括复本,但不知道具体某个key放在哪个token上。
信息以TokenRange方式展示,其中start_token是key被hash到的token,其他token是该key的副本
11. 用户不用关心具体某个key放在哪个token上,而且也无法查到。