Как проверить, какие IP-адреса разных шардов для каждого индекса работают и работают на сервере Solr с помощью SolrJ - PullRequest
0 голосов
/ 22 мая 2018

Учитывая только HTTP-URL сервера Solr, я должен проверить все IP-адреса и порты, на которых сервер хранит данные в шардах, а затем вернуть все IP-серверы, которые не работают и не работают.

Я должен сделать это, написав код Java в Eclipse.Я нашел Java API SolrJ, который может запрашивать базу данных Solr, но я не уверен, как получить все шарды и их IP-адреса.Любая часть кода или процесса будет очень полезна.

1 Ответ

0 голосов
/ 22 мая 2018

Вы можете использовать Коллекции API вызовов в SolrJ, чтобы иметь возможность запрашивать состояние кластера, что означает также живые узлы и т. Д.

Можно сделать что-то вроде этого:

final SolrClient client = getSolrClient();

final SolrRequest request = new CollectionAdminRequest.ClusterStatus();

final NamedList<Object> response = client.request(request);
final NamedList<Object> cluster = (NamedList<Object>) response.get("cluster");
final List<String> liveNodes = (List<String>) cluster.get("live_nodes");

print("Found " + liveNodes.size() + " live nodes");

Подробнее об этом - https://lucene.apache.org/solr/guide/7_3/using-solrj.html#other-apis

...