除了使用nodetool状态之外,还有其他方法可以获得cassandra hostid吗?

时间:2017-11-09 01:42:33

标签: datastax-enterprise uniqueidentifier cassandra-3.0 nodetool

我可以使用nodetool status列出完整的群集信息,输出类似的内容。

Datacenter: bi
==============
Status=Up/Down|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns    Host ID                               
Rack
UN  10.132.2.93   19.88 GiB  32           ?       g94eee1f-1ge1-45c3-8cfgb-643719456c4fd  us-east-1a
UN  10.221.1.140  11.64 GiB  32           ?       b38f2fb2-fcf2-4567-b0cc-1548f63f0f24  us-east-1c

是否有更简单的方法从当前节点(终端是ssh进入的节点)中抓取Host ID而无需从status输出中解析它?

我正在使用datastax enterprise ...如果有帮助

1 个答案:

答案 0 :(得分:1)

每个节点都会在system.local表中保存有关自身的信息。您可以使用cqlsh来获取此信息。

cqlsh 10.132.2.93 -e 'SELECT host_id FROM system.local;'
cqlsh 10.221.1.140 -e 'SELECT host_id FROM system.local;'

它还在system.peers表中保存了相同类型的信息,但这仅适用于所有其他节点本身。这就是为什么我认为为每个节点进行一次查询更容易的原因。