2016-07-14 8 views
0

Я пытаюсь настроить облако solr, подключенное к внешнему ансамблю zookeeper на трех отдельных виртуальных машинах. В виртуальных машинах работает Ubuntu 16.04 внутри VirtualBox с мостовой сетью.Solr с внешним ансамблем zookeeper на трех отдельных виртуальных машинах, не работающих в облачном режиме (отображается только один живой узел)

Для удобства я присвоил имена zoo1, zoo2 и zoo3 для каждой виртуальной машины, соответственно, в/и т.д./хосты файлов каждой виртуальной машины.

Я установил zookeeper 3.4.8-1 на каждую виртуальную машину через репозиторий.

После редактирования файлов «myid» и «zoo.conf» на каждой виртуальной машине я могу запустить ансамбль zookeeper. Просьба о статусе с помощью сценария zkServer.sh я получаю этот результат на zoo1 и zoo2:

$ /usr/share/zookeeper/bin/zkServer.sh status 
ZooKeeper JMX enabled by default 
Using config: /etc/zookeeper/conf/zoo.cfg 
Mode: follower 

Результат для zoo3 выглядит так же, за исключением режима: «Режим: лидер»

Я также может загружать файлы в zookeeper, к которым я могу получить доступ со всех трех виртуальных машин, как только я включил их в один экземпляр zookeeper.

Так что, похоже, зоопарк работает хорошо, я думаю.


Я установил Solr на каждой виртуальной машины (zoo1, zoo2 и zoo3) после этого, как: Taking Solr to Production (я ушел из изолированной части)

После запуска Solr на каждой машине в качестве службы с

$ sudo service solr start 

или с помощью сценария запуска

$ sudo /opt/solr/bin/solr start -c -z "zoo1:2181,zoo2:2181,zoo3:2181" 

я могу получить доступ к панели администратора на каждой машине, но я думаю, что Solr не работает в режиме облака, поскольку статус дает мне только один живой узел:

$ bin/solr status 

Found 1 Solr nodes: 

Solr process 10642 running on port 8983 
{ 
    "solr_home":"/var/solr/data", 
    "version":"6.1.0 4726c5b2d2efa9ba160b608d46a977d0a6b83f94 - jpountz - 2016-06-13 09:46:58", 
    "startTime":"2016-07-14T12:44:45.509Z", 
    "uptime":"0 days, 0 hours, 23 minutes, 14 seconds", 
    "memory":"40.6 MB (%8.3) of 490.7 MB", 
    "cloud":{ 
    "ZooKeeper":"zoo1:2181,zoo2:2181,zoo3:2181", 
    "liveNodes":"1", 
    "collections":"0"}} 

Я пытался добавить «SOLR_MODE = solrcloud» на мой solr.in.sh, но это не имело никакого значения.

Когда я создаю коллекцию на одной виртуальной машине с помощью панели администратора, я вижу коллекцию под облаком на панели администратора на каждой виртуальной машине. Но он не распространяется на zoo1, zoo2 и zoo3. Вместо этого он отображается только на 127.0.0.1.

Любая помощь будет принята с благодарностью! Заранее спасибо. Геррит

ответ

0

Сразу после размещения на мой вопрос, я нашел его:

После установки SOLR_HOST переменной в zoo1, zoo2 и zoo3 на каждой VM соответственно она работала. Мой solr.in.sh теперь выглядит следующим образом:

[...] 
SOLR_MODE=solrcloud 
ZK_HOST="zoo1,zoo2,zoo3" 

# By default the start script uses "localhost"; override the hostname here 
# for production SolrCloud environments to control the hostname exposed to cluster state 
SOLR_HOST="zoo2" 
[...] 

для zoo2.

Перед тем, как SOLR_HOST был закомментирован.