所以有关于如何扩展Cassandra的相当数量的文档,但这是一个很好的资源,如何"卸载"Cassandra并从群集中删除节点?是否像关闭节点一样简单,让群集再次同步,然后重复?
原因是一个网站预计会出现高峰值的流量,几天内会从每日几千次点击上升到数十万次.该网站将提前"加速",启动Web服务器的多个实例,Cassandra等.在请求流量消退后,目标是关闭不再使用的实例,而不是支付服务器费用那只是坐着.
如果您只是关闭节点并重新平衡群集,则可能会丢失一些数据,这些数据仅存在于已删除的节点上且尚未复制.
使用nodetool可以轻松完成安全集群收缩.首先,运行:
nodetool drain
Run Code Online (Sandbox Code Playgroud)
...在删除的节点上,停止接受写入和刷新memtables,然后:
nodetool decommission
Run Code Online (Sandbox Code Playgroud)
要将节点的数据移动到其他节点,然后关闭节点,然后在其他节点上运行:
nodetool removetoken
Run Code Online (Sandbox Code Playgroud)
...完全从群集中删除节点.详细文档可以在这里找到:http://wiki.apache.org/cassandra/NodeTool
根据我的经验,我建议逐个删除节点,而不是批量删除.这需要更多时间,但在网络中断或硬件故障的情况下更安全.
| 归档时间: |
|
| 查看次数: |
2249 次 |
| 最近记录: |