作为此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中查看数据?
答案 0 :(得分:1)
1)添加节点时,Cassandra将首先为新节点选择合适的范围来接管。然后它将创建256个新的令牌范围,这些令牌范围只是现有令牌范围的一部分。这意味着新节点在群集中从许多节点(而不是每个RF不使用vnode时只有一个)获取令牌,这使得流式传输速度更快。
2和3)这是否回答了你的问题? determine node of a partition in Cassandra