Клиент может подключиться к zookeeper только один раз

Я пытаюсь использовать облако Solr с zookeeper. Согласно странице облака solr, я пытаюсь использовать автономный зоопарк и подключить экземпляры solr к Это. Вот моя проблема: я могу подключиться к zookeeper один раз. На странице администратора solr все выглядит хорошо, а раздел «облако» — точно. Если я выключу свой клиент и перезапущу его, я получу 404, когда снова попытаюсь получить доступ к странице администратора solr.

В журналах нет очевидных ошибок ни на стороне клиента, ни на стороне зоопарка. У меня есть ванильный зоопарк, загруженный с сайта apache. Я убедился, что все мои версии одинаковы. Мой zoo.cfg прост:

tickTime=2000
initLimit=10
syncLimit=5

Я использую CloudSolrServer для подключения моей программы (в которой запущен экземпляр solr) к zookeeper. Я довольно много читал о тайм-аутах/завершении сеанса клиента, но я бы предположил, что полное закрытие и перезапуск клиента запустят новый сеанс.

Я использую solr v4.1.0 и zookeeper v3.4.5.


person Wisco crew    schedule 24.09.2013    source источник


Ответы (1)


Кажется, я понял, что не так. Неправильная логика в моей программе неправильно заставляла клиентов полагать, что зоопарк не запущен, поэтому они запускали встроенный зоопарк. Как только это было сделано, он связался с (фактически работающим) автономным зоопарком, поэтому у меня был запущен ансамбль зоопарков с двумя экземплярами.

После того, как я его закрыл, автономный zookeeper остался включенным, и теперь моя программа знала об этом через zoo_data. При перезапуске он подключался к автономному zookeeper, но не запускал встроенный снова. Это привело к тому, что у меня работал только 1 из 2 смотрителей зоопарка, а этого недостаточно для кворума. Так что моя программа просто забуксовала, ожидая, когда другой смотритель зоопарка подключится к сети, чего никогда не произойдет.

TL;DR: Мое решение состояло в том, чтобы исправить ошибку в определении того, жив ли зоопарк, чтобы подключиться к нему.

person Wisco crew    schedule 24.09.2013