...
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%, que atende ao critério de maioria. Por isso é 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.4.10 do Apache® Zookeeper, que pode ser obtida aqui: https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/
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 efetuar as configurações detalhadas abaixo:
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | fi |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
- Criar, caso ainda não exista, o arquivo <ZOOKEEPER_HOME>/conf/zoo.cfg com o seguinte conteúdo:
Bloco de código |
---|
| tickTime=2000
dataDir=/var/lib/zookeeperdata
clientPort=2181
initLimit=5
syncLimit=2
server.1=<server1_ip>:2888:3888
server.2=<server2_ip>:2888:3888
server.3=<server3_ip>: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.
- 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 aumentado se a quantidade de informações gerenciadas pelo zookeeper for elevada.
- syncLimit: quantidade de tempo (em ticks) para que as máquinas com zookeeper sejam sincronizadas com a líder. Se uma máquina não conseguir sincronizar com a líder neste intervalo, ela será descartada do cluster.
- server.X: Estes são os IDs e localização de todos os nós do cluster, e as portas nas quais eles comunicam-se entre si. O ID identifica cada nó do cluster, e também precisa 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.
|
Card |
---|
|
- Clique no menu Painel de Controle → Aba WCM → Configurações do Sistema:
|
Card |
---|
|
- Clique na Aba Parâmetros da Plataforma e localize as configurações do Servidor de Indexação:
|
Card |
---|
|
- Configure da seguinte forma:
- Diretório do Solr: Incluir o caminho para a pasta do Solr.
- URL de acesso ao Solr: Deve ser informando o endereço do servidor onde está sendo executado o fluig Indexer Master. Deverá ser incluido da seguinte forma: http://[Host Servidor Master]:[Porta]. A porta utilizada será a do serviço de coordenação do cluster que por padrão é a porta do 9983.
- Solr em Servidor Remoto: Deve estar ativado (ON).
- Solr em Cluster: Deve estar ativado (ON). Esta opção ativa o Solr em Cluster, necessária para ambientes em cluster.
|
Card |
---|
|
- As alterações nos parâmetros exigem a reinicialização da plataforma. Portanto inicie os serviços na ordem correta.
|
|
Somente um dos servidores precisa ser eleito como Master. Nele será executado o processo de coordenação dos nós do cluster de servidores (ZooKeeper).
...