cassandra垃圾数据清理:
read repair:
当执行nodetool repair的时候,cassandra会对当前节点上保存的每一个范围的数据计算Merkle Tree,
同其他节点的副本进行比较,获取最近未被读取的不同步数据,进行同步。这个过程是比较耗CPU和IO的,
所以通常不应该高频率执行,一般每周一次(GCgraceCollection默认为10天)。
在多节点的同时执行repair是安全的,没有并发问题,不过为了最小化对应用的影响,通常等待在一个
节点执行完repair后再在另一个节点上执行。
执行cleanup可以清除过时的HintedHandoff数据.
The reason why you run nodetool cleanup on all live nodes is to remove old HintedHandoff writes stored for the dead node.
一个节点失败后的操作:
方法一:
1.添加一个节点,ip设置为不同,token为(宕掉节点token-1),设置autobootstrap为true
2.启动过程会执行autobootstrap
3.在每个节点执行nodetool removetoken oldtoken 和nodetool cleanup
方法二:
1.添加一个新的节点,具有与宕掉节点相同的IP和token
2.执行nodetool repair
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23937368/viewspace-1051352/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23937368/viewspace-1051352/
本文介绍Cassandra数据库维护操作,包括readrepair机制,通过nodetoolrepair命令实现数据同步,避免因副本不同步导致的问题。此外还介绍了如何使用nodetoolcleanup命令清理过时的HintedHandoff数据,并给出了节点故障后的两种恢复方案。
1532

被折叠的 条评论
为什么被折叠?



