Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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: 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: |
...