使用Elasticearch,我们如何获得工作的Elastic主机?
es = Elasticsearch() health = es.cluster.health
上述语句将打印Elasticearch主机的运行状况。但如何从中得到工作的主人呢?
klsxnrf11#
使用hosts = es.transport.hosts获取主机列表。
hosts = es.transport.hosts
您还可以使用类似以下内容:
con = elasticsearch.connection.RequestsHttpConnection(**hosts[0]) con.perform_request(...)
但更好的是,您可以这样做:
es.transport.perform_request('GET', '/_cat/tasks')
以便在已配置主机列表中的健康主机上执行任何请求。
yws3nbqq2#
对于较新的版本[>=8.x.x],可以通过访问.transport.node_pool.all()
.transport.node_pool.all()
# get a list of all connections nodes = [node.base_url for node in es.transport.node_pool.all()]
2条答案
按热度按时间klsxnrf11#
使用
hosts = es.transport.hosts
获取主机列表。您还可以使用类似以下内容:
但更好的是,您可以这样做:
以便在已配置主机列表中的健康主机上执行任何请求。
yws3nbqq2#
对于较新的版本[>=8.x.x],可以通过访问
.transport.node_pool.all()