从 Cassandra 集群中删除节点应该是以下步骤(在 Cassandra v1.2.8 中):
- 通过 停用目标节点
nodetool decommission。 
- 一旦来自退役节点的数据流完成,手动删除退役节点中的数据(可选)。
 
从文档:
nodetool decommission - Decommission the *node I am connecting to*
更新:上述过程也适用于种子节点。在这种情况下,集群仍然能够顺利运行而无需重新启动。当您因其他原因需要重启集群时,请务必更新为所有节点seeds指定的参数。cassandra.yaml
停用目标节点
停用开始时,停用的节点将首先标记为leaving(标记为L)。在以下示例中,我们将删除node-76:
> nodetool -host node-76 decommission
> nodetool status
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address  Load       Tokens  Owns   Host ID                               Rack
UN  node-70  9.79 GB    256     8.3%   e0a7fb7a-06f8-4f8b-882d-c60bff51328a  155
UN  node-80  8.9 GB     256     9.2%   43dfc22e-b838-4b0b-9b20-66a048f73d5f  155
UN  node-72  9.47 GB    256     9.2%   75ebf2a9-e83c-4206-9814-3685e5fa0ab5  155
UN  node-71  9.48 GB    256     9.5%   cdbfafef-4bfb-4b11-9fb8-27757b0caa47  155
UN  node-91  8.05 GB    256     8.4%   6711f8a7-d398-4f93-bd73-47c8325746c3  155
UN  node-78  9.11 GB    256     9.4%   c82ace5f-9b90-4f5c-9d86-0fbfb7ac2911  155
UL  node-76  8.36 GB    256     9.5%   15d74e9e-2791-4056-a341-c02f6614b8ae  155
UN  node-73  9.36 GB    256     8.9%   c1dfab95-d476-4274-acac-cf6630375566  155
UN  node-75  8.93 GB    256     8.2%   8789d89d-2db8-4ddf-bc2d-60ba5edfd0ad  155
UN  node-74  8.91 GB    256     9.6%   581fd5bc-20d2-4528-b15d-7475eb2bf5af  155
UN  node-79  9.71 GB    256     9.9%   8e192e01-e8eb-4425-9c18-60279b9046ff  155
当一个退役节点被标记为leaving时,它正在向其他活节点流式传输数据。流式传输完成后,从环形结构中不会观察到该节点,其他节点拥有的数据会增加:
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address  Load       Tokens  Owns   Host ID                               Rack
UN  node-70  9.79 GB    256     9.3%   e0a7fb7a-06f8-4f8b-882d-c60bff51328a  155
UN  node-80  8.92 GB    256     9.6%   43dfc22e-b838-4b0b-9b20-66a048f73d5f  155
UN  node-72  9.47 GB    256     10.2%  75ebf2a9-e83c-4206-9814-3685e5fa0ab5  155
UN  node-71  9.69 GB    256     10.6%  cdbfafef-4bfb-4b11-9fb8-27757b0caa47  155
UN  node-91  8.05 GB    256     9.1%   6711f8a7-d398-4f93-bd73-47c8325746c3  155
UN  node-78  9.11 GB    256     10.5%  c82ace5f-9b90-4f5c-9d86-0fbfb7ac2911  155
UN  node-73  9.36 GB    256     9.7%   c1dfab95-d476-4274-acac-cf6630375566  155
UN  node-75  9.01 GB    256     9.5%   8789d89d-2db8-4ddf-bc2d-60ba5edfd0ad  155
UN  node-74  8.91 GB    256     10.5%  581fd5bc-20d2-4528-b15d-7475eb2bf5af  155
UN  node-79  9.71 GB    256     11.0%  8e192e01-e8eb-4425-9c18-60279b9046ff  155
手动删除剩余数据
流式传输完成后,可以手动删除存储在退役节点中的数据,如Cassandra 文档中所述:
  不会从正在退役的节点中自动删除任何数据,因此如果您想以环上的不同令牌将节点重新投入使用,则应手动删除。
这可以通过删除存储在 、 和已停用节点的文件中指定的data_file_directories数据commitlog_directory来完成saved_caches_directory。cassandra.yaml