Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagebash
themeEclipse
titlezoo.cfg
tickTime=2000
dataDir=C:/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
admin.serverPort=8081
4lw.commands.whitelist=mntr,conf,ruok
#admin.serverPort=8080
server.1=<server1_address>:2888:3888
server.2=<server2_address>:2888:3888
server.3=<server3_address>:2888:3888
  • tickTime: corresponde ao tempo em milisegundos entre cada tick, sendo que uma das validações para determinar se um nó está disponível é de dois ticks (similar ao ping para verificar se uma máquina é encontrada na rede). Se dois ticks consecutivos não obtiverem resposta, ocorre timeout e a máquina é considerada indisponível.
  • dataDir: aponta o diretório onde serão armazenadas as informações referentes ao cluster. No início, este diretório deve estar vazio e com permissão de escrita pelo usuário que irá iniciar o ZooKeeper. O mapeamento deve ser feito sempre com o caracter '/', mesmo em ambientes windows.
  • clientPort: corresponde à porta que será utilizada pelo Apache® Solr.
  • initLimit: quantidade de tempo (em ticks) para que uma máquina com ZooKeeper se conecte e sincronize com a máquina que foi eleita líder. Neste caso, são 5 ticks com 2000 milisegundos cada, totalizando 10 segundos. Este valor pode ser incrementado sob demanda se a quantidade de informações gerenciadas pelo ZooKeeper for elevada.
  • syncLimit: quantidade de tempo (em ticks) que uma máquina com ZooKeeper pode estar atrasada em relação à líder. Se uma máquina não conseguir sincronizar com a líder neste intervalo, ela será descartada do cluster.
  • admin.serverPort: por padrão, o ZooKeeper é executado roda um servidor Jetty na porta 8080. Fica a seu critério escolher a porta contanto que não esteja sendo utilizada por outra aplicação. Basta descomentar a propriedade (remover o caractere #) e alterar o valor da porta.
  • 4lw.commands.whitelist: lista de comandos que o ZooKeeper tem permissão para executar.
  • server.X: são os IDs e localização (endereço na rede interna) de todos os nós do cluster, e as portas nas quais eles comunicam-se entre si. O ID identifica cada nó do cluster, precisando ser referenciado em um arquivo de nome 'myid', dentro do diretório definido na propriedade 'dataDir'. Neste exemplo seria necessário criar o arquivo '/var/lib/zookeeperdata/myid' com o conteúdo '1' (sem aspas) para a máquina configurada na propriedade 'server.1', o mesmo arquivo com conteúdo '2' (sem aspas) para a máquina configurada na propriedade 'server.2', e assim por diante, para cada máquina existente no cluster. As portas 2888 e 3888 serão utilizadas para comunicação entre cada uma das máquinas do cluster e podem ser alteradas de acordo com a necessidade, desde que informadas na linha correspondete ao servidor em questão, no arquivo 'zoo.cfg' de todas as máquinas do cluster.

...

Nota
titleAtenção!

Como existe o ZooKeeper para gerenciar o cluster, este comando precisa ser executando apenas em uma das máquinas do Solr.

Caso esteja atualizando para a versão 1.8.2 (e não uma nova instalação), é necessário executar o seguinte comando:

<SOLR_DIR>/bin/solr zk upconfig -d /var/solr/server/solr/configsets/ fluig -n 1 <ID do Tenant> -z <server1_address>:2181,<server2_address>:2181,<server3_address>:2181

...

Nota
titleAtenção!

Como existe o ZooKeeper para gerenciar o cluster, este comando precisa ser executando apenas em uma das máquinas do Solr, mas as outras máquinas precisam estar com o Solr em execução.

Caso esteja atualizando para a versão 1.8.2 (e não uma nova instalação), é necessário executar os seguintes comandos alterando <ID_DO_TENANT> pelo ID do tenant:
<SOLR_HOST>:8983/solr/admin/collections?action=RELOAD&name=<ID_DO_TENANT>
<SOLR_HOST>:8983/solr/admin/cores?action=RELOAD&core=<ID_DO_TENANT>_shard1_replica_n1
<SOLR_HOST>:8983/solr/admin/cores?action=RELOAD&core=<ID_DO_TENANT>_shard1_replica_n2

Caso tenha utilizado um valor diferente de 2 para o parâmetro replicationFactor anteriormente, será necessário fazer a chamada para cada um dos shards uma das réplicas alterando  <X> pelo número correspondente:
<SOLR_HOST>:8983/solr/admin/cores?action=RELOAD&core=<ID_DO_TENANT>_shard1_replica_n<X>

...