我有一个16节点的Cassandra 2.1.11群集,分为2个机架(R0和R1),每个机架8个节点。每个节点提供大约700Gb的数据。集群看起来很平衡。每个节点都有2x3Tb硬盘。
Datacenter: DC0
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 192.168.21.72 677.37 GB 256 ? 0260665f-5f5c-4fbc-9583-8da86848713a R0
UN 192.168.21.73 658.8 GB 256 ? ed1e7814-f715-41c8-97c9-8b52164835f9 R1
UN 192.168.21.74 676.97 GB 256 ? 62833182-b339-46f2-9370-0e23f6bb7eab R1
UN 192.168.21.75 657.1 GB 256 ? ab31f28b-ffea-489f-a4da-3b5120760b8e R1
UN 192.168.21.76 690.29 GB 256 ? e636bf2e-89d6-4bf3-9263-cf1ed67fcbd9 R1
UN 192.168.21.77 679.77 GB 256 ? 959e5207-1251-4c58-afa9-3910b5a27ff5 R1
UN 192.168.21.78 648.85 GB 256 ? 6f650315-1cd1-4169-b300-391800be974f R1
UN 192.168.21.79 675.96 GB 256 ? 324bd475-b5f6-4b39-a753-0cd2c80a46c4 R1
UN 192.168.21.65 636.01 GB 256 ? 65e3faa1-e8d5-4d78-a87e-bfde1f4095a5 R0
UN 192.168.21.66 674.89 GB 256 ? 213696eb-c4a0-4803-a9b3-0efd04c567f2 R0
UN 192.168.21.67 716.77 GB 256 ? 62542a8e-8177-4f13-9077-ea2426607ace R0
UN 192.168.21.68 666.1 GB 256 ? a9864059-3de2-48a2-a926-00db3f9791ee R0
UN 192.168.21.69 691.9 GB 256 ? 02ea1b28-90f9-4837-8173-ff79fa6966d7 R0
UN 192.168.21.70 681.16 GB 256 ? a9c8adae-e54e-4e8e-a333-eb9b2b52bfed R0
UN 192.168.21.71 653.18 GB 256 ? 6aa8cf0c-069a-4049-824a-8359d1c58e59 R0
UN 192.168.21.80 694.14 GB 256 ? 7abb5609-7dca-465a-a68c-972e54469ad6 R1
现在我正在尝试通过添加16个节点来扩展群集,这些节点也分为2个机架(R2和R3)。添加所有新节点后,我希望有一个32节点集群,除以4个机架,每个节点上有350Gb的数据。
我根据Cassandra documentation一次添加一个节点。我在第一个节点启动了Cassandra进程,其配置与现有节点相同,但在R3(新)机架中。它导致从现有节点到新添加节点的16个流,每个节点有250Gb数据,所有数据都成功传输到新节点,此时进程看起来正常。
但是,在数据大小落在新节点之后,如nodetool status
所示它开始增加,现在它已经说1.7Tb并且不断增长。
UJ 192.168.21.89 1.69 TB 256 ? 42a80db9-59d6-44b6-b79c-ac7819f69cee R3
这与我的预期相反(每节点350Gb但不是1.7Tb)。 新节点上的Cassandra数据目录已经使用了6Tb以外的4Tb磁盘空间。
我认为这不正常,已经停止了这个过程。
现在我想知道我做错了什么以及我应该做些什么来正确添加16个节点并且最终在每个节点上有32个节点和350Gb。我应该扩展现有机架而不是添加新机架吗?我应该为新节点计算令牌吗?还有其他选择吗?