Esta página foi revisada para considerar as configurações do serviço de indexação a partir da atualização 1.8.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. |
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]. |
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.
Na maioria dos cenários, uma máquina bem dimensionada executando o serviço de indexação é suficiente para atender as demandas de indexação e busca da plataforma.
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.
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.
Para garantir a alta disponibilidade desta funcionalidade, é necessário que exista redundância em ambos os serviços: Apache® Solr para indexação/busca e Apache® ZooKeeper para gerenciamento das configurações de indexação e das requisições. Também é necessário que todas as máquinas do cluster sejam acessíveis entre si (estejam na mesma rede).
O princípio de funcionamento do Apache® ZooKeeper é baseado em quorum, ou seja, é necessário que a maioria (>50%) dos servidores estejam disponíveis para o processamento das requisições.
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.
O primeiro passo é efetuar o download da versão 3.9.10 do Apache® ZooKeeper, que pode ser obtida no endereço https://archive.apache.org/dist/zookeeper/zookeeper-3.9.0/
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:
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 |
Certifique-se que o arquivo "myid" foi criado corretamente em cada máquina (na pasta definida pela propriedade dataDir), tendo o ID numérico do servidor como conteúdo. |
Com essa configuração em cada máquina do cluster, basta iniciá-las com o seguinte comando:
cd <ZOOKEEPER_HOME>/bin zkServer.sh start zoo.cfg |
cd <ZOOKEEPER_HOME>/bin zkServer.cmd |
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.
Para existir redundância, devem conter no mínimo duas máquinas executando este serviço de indexação, podendo estas serem as mesmas máquinas que executam o serviço de gerenciamento (ZooKeeper) ou máquinas distintas na mesma rede, dependendo da arquitetura desejada de tolerância à falhas.
O Solr possui dois modos de inicialização: Standalone e Cloud. Em um ambiente de alta disponibilidade, é necessário utilizar o modo Cloud, apontando para os servidores onde estão sendo executados os serviços de gerenciamento das configurações e requisições (ZooKeeper). Para isso, basta incluir o parâmetro ZK_HOST no arquivo de configuração do servidor de indexação, conforme exemplo abaixo:
ZK_HOST="<server1_address>:2181,<server2_address>:2181,<server3_address>:2181" SOLR_HOST="<server>" |
Neste caso, os endereços <server1_address>, <server2_address> e <server3_address> no item ZK_HOST, são os mesmo informados anteriormente nos parâmetros 'server.X' do arquivo 'zoo.cfg', e a porta 2181 corresponde ao parâmetro clientPort informado nesse mesmo arquivo. As aspas devem ser mantidas.
O parâmetro <server> utilizado no item SOLR_HOST se refere ao endereço ou ip do próprio servidor que está configurando. As aspas devem ser mantidas.
A localização deste arquivo de configuração varia de acordo com o sistema operacional, e pode ser verificada na tabela abaixo:
Sistema Operacional | Arquivo de Configuração | Localização |
---|---|---|
Linux | fluig_Indexer.in.sh | /etc/default/ |
Windows | solr.in.cmd | [Instalação fluig Indexer]/solr/bin/ |
Após esta configuração, é necessário iniciar os serviços do Solr (fluig_Indexer) em todas as máquinas que o executarão para seguir com os próximos passos. |
É 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. |
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:
<SOLR_DIR>/bin/solr zk upconfig -d fluig -n fluig -z <server1_address>:2181,<server2_address>:2181,<server3_address>:2181 |
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 |
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:
<SOLR_DIR>/bin/solr create_collection -c <ID do Tenant> -d fluig -shards 1 -replicationFactor 2 |
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 alterando <X> pelo número correspondente: |
Se o fluig tiver em execução, siga os passos abaixo:
|
|
<script> $("b:contains('oculto')").parent().parent().hide(); </script> |