Cassandra - Nodetool 状态显示“拥有为?”

Mah*_*til 0 cassandra datastax

Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving

--  Address       Load       Tokens       Owns    Host ID                               Rack
UN  10.30.27.172  202.52 KiB  1            ?       2300ea95-9114-4c03-819e-2c738de50824  rack1
UN  10.30.27.173  205.97 KiB  1            ?       d35063fe-2e81-4ab0-95ec-7024c9606b51  rack1
UN  10.30.27.171  222.02 KiB  1            ?       0f96a91b-77fb-4d49-ae87-ad9f61facb6b  rack1

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless
Run Code Online (Sandbox Code Playgroud)

我创建了一个示例键空间和它下面的一些表。我可以看到其他节点上的记录。为什么拥有显示“?”,数据如何在集群上拆分。

小智 6

这是预期的行为。Nodetool status 使用Owns列来指示节点拥有的令牌范围的有效百分比。因为不同的键空间有不同的复制策略,所以 nodetool 无法计算出有意义的所有权百分比。

如果您想查看所有权百分比,您可以通过简单地将密钥空间添加到 nodetool 命令来实现:

nodetool status mykeyspace

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns    Host ID                            Rack
UN  127.0.0.1  47.66 KB   1       33.3%   aaa1b7c1-6049-4a08-ad3e-3697a0e30e10  rack1
UN  127.0.0.2  47.67 KB   1       33.3%   1848c369-4306-4874-afdf-5c1e95b8732e  rack1
UN  127.0.0.3  47.67 KB   1       33.3%   49578bf1-728f-438d-b1c1-d8dd644b6f7f  rack1 
Run Code Online (Sandbox Code Playgroud)