Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
titleAtenção

Esta página foi revisada para considerar as configurações do serviço de indexação a partir da atualização Waterdrop ( 1.68.4)2.

Caso possua uma atualização 1.6.0 à 1.6.3 acesse: Como configurar o fluig Indexer para executar em cluster da release 1.6.0 à 1.6.3?.

Caso possua uma atualização 1.6.4 à 1.8.1 acesse: Fluig Indexer em alta disponibilidade.

Painel
titleoculto

Para atualizações 1.5.6 à 1.5.13 acesse: Como configurar o fluig Indexer para executar em cluster da release 1.5.6 à 1.5.13?. [essa página está arquivada, mas caso seja necessário, solicitar para alguém de Gestão do Conhecimento].


Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone


Introdução

...

As instruções a seguir completarão a instalação de um fluig Indexer em um cluster de servidores dedicados, continuando as instruções iniciadas na página Fluig Indexer em Servidor Dedicado.

...

Sendo assim, as configurações apresentadas nesta página são consideradas avançadas, com maior necessidade de administração do ambiente e recomendadas apenas em casos específicos, quando a busca é uma funcionalidade crítica, ou quando se faz necessário garantir a alta disponibilidade deste serviço.


Redundância

...

O serviço de indexação na plataforma é realizado pelo Apache® Solr. Em um ambiente de alta disponibilidade, são necessárias mais máquinas com este serviço rodando para, no caso de uma delas falhar, ter outra(s) para continuar processando as requisições e, neste caso, o gerenciamento destas requisições será realizado pelo Apache® ZooKeeper.

...

Por exemplo, se existirem apenas dois servidores e um deles ficar indisponível, apenas 50% dos servidores estarão saudáveis e, como isso não é a maioria, o cluster será incapaz de processar as requisições. Por outro lado, se existirem três servidores e um ficar indisponível, ainda restarão dois saudáveis, ou 66%, atendendo ao critério de maioria. Por esse motivo é recomendado um número ímpar de servidores executando o Apache® ZooKeeper.


Configurando o Apache® ZooKeeper

...

O primeiro passo é efetuar o download da versão 3.49.10 do Apache® ZooKeeper, que pode ser obtida no endereço endereço https://archive.apache.org/dist/zookeeper/zookeeper-3.49.100/

Após efetuar o download e extrair o arquivo compactado no diretório de sua preferência [ZOOKEEPER_HOME] em cada uma das máquinas do cluster, é necessário criar, caso ainda não exista, o arquivo [ZOOKEEPER_HOME]/conf/zoo.cfg com o seguinte conteúdo:

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
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 na porta 8080. Fica a seu critério escolher a porta contanto que não esteja sendo utilizada por outra aplicação.
  • 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.

...

Bloco de código
languagebash
themeEclipse
titleNo Windows
cd <ZOOKEEPER_HOME>/bin
zkServer.cmd


Configurando o Apache® Solr

...

A instalação do Apache® Solr pode ser realizada através da instalador do fluig no modo caractere, seguindo o passo a passo para instalar somente o servidor de indexação em Windows ou Linux.

...

Nota
titleAtenção!

É importante que o serviço de gerenciamento (ZooKeeper) seja iniciado antes do serviço de indexação (Solr), caso contrário, este último irá considerar que não há serviço de gerenciamento disponível.


Configurações de indexação

...

Quando o Apache® Solr é executado no modo Cloud, as configurações do índice são armazenadas e gerenciadas pelo Apache® ZooKeeper. Por isso, primeiramente é necessário publicar as configurações utilizadas pela plataforma. Estas configurações são instaladas juntamente com o serviço de indexação e para publicá-las no serviço de gerenciamento (ZooKeeper), pode-se utilizar o comando abaixo: 

...

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 -z <server1_address>:2181,<server2_address>:2181,<server3_address>:2181

Criação de collection

...

Cada empresa (tenant) criada no fluig é mapeada para uma collection no Apache® Solr. Quando em cluster, é necessário definir a quantidade de nós (shards) em que o índice será dividido e o fator de replicação (replicationFactor) das informações referentes à esta collection, através do seguinte comando:

...

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 alterando  <X> pelo número correspondente:
<SOLR_HOST>:8983/solr/admin/cores?action=RELOAD&core=<ID_DO_TENANT>_shard1_replica_n<X>

Configurando o fluig para usar o Indexer

...

Se o fluig tiver em execução, siga os passos abaixo:

...