Cassandra中的数据重新分区

时间:2017-12-04 07:33:21

标签: cassandra cassandra-3.0

作为此Data Partition in Cassandra的后续内容,我了解了vNodes。感谢'Simon Fontana Oscarsson'

当我尝试使用vNodes探索数据分区时,我几乎没有问题,

我尝试在2节点(./nodetool ring

中观察分区分布
Two seed nodes (2 node)

172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9207297847862311651                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9185516104965672922                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9135483708655236026                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      100.00%             -9106737079237505681                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9078521344187921602                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9051897156173923903                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9049800264451581717                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -9039572936575206977                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      100.00%             -9019927187583981555                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      100.00%             -9006071175095726599                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      100.00%             -8995415525773810853                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      100.00%             -8949342263103866059                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -8880432529087253108                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -8859265089807316498                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -8844286905987198633                        
172.30.56.61  rack1       Up     Normal  105.19 KiB      100.00%             -8832739468389117376      

因此,根据我在两个节点中的观察结果,节点61的值为-9207297847862311651到-9185516104965672922,因为一个范围正在进行...

注意:分区范围从'-9039572936575206977'到'-9019927187583981554'目前由节点61处理。

现在我又向集群添加了一个节点(而不是种子节点),我运行了./nodetool ring

Two seed nodes with one new node (3 node)

172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9207297847862311651                        
172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9185516104965672922                        
172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9135483708655236026                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      63.57%              -9106737079237505681                        
172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9078521344187921602                        
172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9051897156173923903                        
172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9049800264451581717                        
172.30.56.61  rack1       Up     Normal  104.12 KiB      64.73%              -9039572936575206977                        
172.30.56.62  rack1       Up     Normal  103.7 KiB       71.70%              -9031848008695747480                        
172.30.56.62  rack1       Up     Normal  103.7 KiB       71.70%              -9028974600706382491                        
172.30.56.60  rack1       Up     Normal  102.77 KiB      63.57%              -9019927187583981555    

现在我发现给新节点Node 62提供了相同的分区范围, ,范围从-9039572936575206977到-9031848008695747480由节点61处理,但-9031848008695747480到-9019927187583981555由节点62(新节点)处理,

1)这是否意味着,在群集中添加新节点将分配现有分区范围?

2)有没有办法使用nodetool之类的任何实用工具来观察Cassandra中的复制分区?

3)我有3个节点,RF为2,如何仅在节点62中查看数据?

1 个答案:

答案 0 :(得分:1)

1)添加节点时,Cassandra将首先为新节点选择合适的范围来接管。然后它将创建256个新的令牌范围,这些令牌范围只是现有令牌范围的一部分。这意味着新节点在群集中从许多节点(而不是每个RF不使用vnode时只有一个)获取令牌,这使得流式传输速度更快。

2和3)这是否回答了你的问题? determine node of a partition in Cassandra