除了使用 nodetool status 之外,还有其他方法可以获取 cassandra hostid 吗?
Is there any other way to get a cassandra hostid other than using nodetool status?
我可以使用 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...以防万一
每个节点都在system.localtable中保存关于自己的信息。您可以使用 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 table 中保存相同类型的信息,但这仅适用于除自身以外的所有其他节点。这就是为什么我认为对每个节点执行一个查询更容易。
我可以使用 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...以防万一
每个节点都在system.localtable中保存关于自己的信息。您可以使用 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 table 中保存相同类型的信息,但这仅适用于除自身以外的所有其他节点。这就是为什么我认为对每个节点执行一个查询更容易。