Put this in a script and pass any hostname from the cluster as the argument. I 
use the host name of the load balancer for the cluster. You will need to 
install the “jq” tool. 

https://stedolan.github.io/jq/ <https://stedolan.github.io/jq/>

====
#!/bin/bash

cluster=$1

echo "Live nodes:"
for host in `curl -s 
"http://${cluster}:8983/solr/admin/collections?action=CLUSTERSTATUS&wt=json"; | 
jq -r '.cluster.live_nodes[]' | sort`
do
    echo $host
done

echo "All nodes:"
for host in `curl -s 
"http://${cluster}:8983/solr/admin/collections?action=CLUSTERSTATUS&wt=json"; | 
jq -r ''.cluster.collections[].shards[].replicas[].node_name'' | sort -u`
do
    echo $host
done
====

wunder
Walter Underwood
wun...@wunderwood.org
http://observer.wunderwood.org/  (my blog)

> On Jul 15, 2019, at 10:55 PM, Fatima Khan <fatimakhan4...@gmail.com> wrote:
> 
> Hi All,
>    I am working on a project in which we use Solr for our audit logs. We
> have implemented bootstrapping for the same and we are currently using
> the getLiveNodes()
> method for getting the live Solr nodes but we wanted to know if there is
> any other api in which we
> can get all the Solr nodes irrespective of their status that is even if the
> Solr node is down can we get the details
> of these down nodes.
> 
> 
> *Thanks & Regards ,*
> 
> *Fatima Khan*

Reply via email to