Откуда мы знаем, что все узлы Solr в кластере SolrCloud синхронизированы?

У меня есть установка SolrCloud с 2 Solr nodes и 3 ZooKeeper nodes. осколки №1 и replicationFactor №2.

Как узнать, что оба узла Solr (лидеры/реплики) синхронизированы и все данные индекса успешно реплицированы?

Спасибо, Амит


person Amit Humnabadkar    schedule 12.02.2019    source источник


Ответы (1)


Вызовы SolrCloud API полностью согласованы в том смысле, что когда возвращается ответ, он делает это после того, как ВСЕ соответствующие реплики подтверждают получение обновления и добавляют его в журнал транзакций (в противном случае вы получите сообщение об ошибке).

Процесс индексации в SolrCloud выглядит следующим образом:

Входящие документы принимаются узлом и направляются соответствующему лидеру.

От лидера они отправляются на все реплики соответствующего шарда.

Реплики отвечают своему лидеру.

Лидер отвечает исходному узлу.

После того, как все лидеры ответили, исходный узел отвечает клиенту. На данный момент все документы были сброшены в tlog для всех узлов в кластере!

person kellyfj    schedule 12.02.2019
comment
Спасибо Келли! Как я могу подтвердить/убедиться, что данные индекса реплицируются на другие узлы solr в SolrCloud? - person Amit Humnabadkar; 13.02.2019
comment
В противном случае вы получили бы ошибку API. Также, если вы посмотрите на консоль администратора SolrCloud и осмотрите осколки/реплики — если они все зеленые, это означает, что они в порядке. Опять же, API Solr требует такой согласованности, поэтому, если согласованность не удалась, вы получите ОШИБКУ при вызове API. - person kellyfj; 13.02.2019