Esta seção fornece orientações gerais para operações de escalonamento do Cassandra tornando o Cassandra no Apigee Edge para reconhecimento de rack de nuvem privada.
Para mais informações sobre a importância do reconhecimento do rack de suporte do Cassandra, consulte os links a seguir recursos:
- Replicação (documentação do Cassandra)
- Cassandra Arquitetura e Estratégia de fator de replicação
O que é um rack?
Um rack do Cassandra é um agrupamento lógico de nós do Cassandra no anel. Cassandra usa racks para garantir que as réplicas sejam distribuídas entre diferentes agrupamentos lógicos. Como as operações são enviadas não só para um nó, mas para vários nós, cada um em um rack separado, maior tolerância a falhas e disponibilidade.
Os exemplos nesta seção usam três racks do Cassandra, que é o número de racks com suporte da Apigee em topologias de produção.
A instalação padrão do Cassandra no Apigee Edge para nuvem privada pressupõe um único rack lógico e coloca todos os nós de um data center dentro dele. Embora essa configuração seja simples de instalar e gerenciar, fica suscetível a falhas se uma operação falhar em um desses nós.
A imagem a seguir mostra a configuração padrão do anel do Cassandra:
![1 rack com 3 nós](https://docs.apigee.com/static/private-cloud/images/cassandra-3nodes1rack.png?authuser=0000&hl=pt)
Em uma configuração mais robusta, cada nó é atribuído a um rack e operações também são executados em réplicas em cada um desses racks.
A imagem a seguir mostra um anel de três nós. Esta imagem mostra a ordem em que as operações são replicado no anel (sentido horário) e destaca o fato de que não há dois nós no mesmo rack:
![3 racks, com 1 nó em cada rack](https://docs.apigee.com/static/private-cloud/images/cassandra-3nodering.png?authuser=0000&hl=pt)
Nesta configuração, as operações são enviadas para um nó, mas também para as réplicas desse nó. em outros racks (no sentido horário).
Adicionar reconhecimento de rack (com 3 nós)
Todas as topologias de instalação de produção do Apigee Edge para nuvem privada têm pelo menos três nós do Cassandra, que, nesta seção, refere-se a "IP1", "IP2" e "IP3". Por padrão, cada um desses nós fica no mesmo rack, "ra-1".
Esta seção descreve como atribuir os nós do Cassandra a racks separados para que todas as operações são enviados para nós de réplica em agrupamentos lógicos separados dentro do anel.
Para atribuir nós do Cassandra a diferentes racks durante a instalação:
- Antes de executar o instalador, faça login no nó do Cassandra e abra o
seguinte arquivo de configuração silenciosa para edição:
/opt/silent.conf
Crie o arquivo se ele não existir e defina "apigee" o usuário como proprietário.
- Edite a propriedade
CASS_HOSTS
, uma lista separada por espaços de endereços IP (não DNS ou entradas do host) que usa a seguinte sintaxe:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
O valor padrão é um anel do Cassandra com três nós, com cada nó atribuído ao rack 1 e aos dados center 1, como mostra o exemplo a seguir:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Altere as atribuições do rack para que o nó 2 seja atribuído ao rack 2 e o nó 3 seja atribuído ao
rack 3, conforme o exemplo a seguir:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Ao alterar as atribuições do rack, você instrui o Cassandra a criar duas regras (racks), que fornecem réplicas que recebem todas as operações recebidas pelo primeiro nó.
Para mais informações sobre como usar a propriedade de configuração
CASS_HOSTS
, consulte Referência do arquivo de configuração de borda. - Salve as alterações no arquivo de configuração e execute o seguinte comando para instalar
Cassandra com a configuração atualizada:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Exemplo:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Repita este procedimento para cada nó do Cassandra no anel, na ordem em que os nós
são atribuídos na propriedade
CASS_HOSTS
. Nesse caso, instale o Cassandra na seguinte ordem:- Nó 1 (IP1)
- Nó 2 (IP2)
- Nó 3 (IP3)
Após a instalação, verifique a configuração do Cassandra.
Verificar a configuração do Cassandra
Depois de instalar uma configuração do Cassandra compatível com rack, você pode verificar se os nós estão
atribuídas aos diferentes racks usando o comando nodetool status
, como
o exemplo a seguir mostra:
/opt/apigee/apigee-cassandra/bin/nodetool status
Execute esse comando em um dos nós do Cassandra.
Os resultados serão semelhantes aos mostrados a seguir, em que a coluna Rack mostra os diferentes IDs de rack para cada nó:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Se você ativou a autenticação JMX para o Cassandra, também deverá passar seu nome de usuário e
senha para nodetool
. Para mais informações, consulte
Use o nodetool para gerenciar os nós do cluster.
Instalar um anel de seis nós
Para redundância adicional, você pode expandir o anel do Cassandra para seis nós. Nesse caso, atribuir dois nós a cada um dos três racks. Essa configuração requer mais três nós: Nó 4 (IP4), Nó 5 (IP5) e Nó 6 (IP6).
A imagem a seguir mostra a ordem em que as operações são replicadas no anel (sentido horário) e destaca o fato de que, durante a replicação, não há dois nós adjacentes no mesmo rack:
![Três racks, com dois nós em cada rack](https://docs.apigee.com/static/private-cloud/images/cassandra-6nodering.png?authuser=0000&hl=pt)
Nesta configuração, cada nó tem mais duas réplicas: uma em cada um dos outros dois racks. Para exemplo, o nó 1 no rack 1 tem uma réplica no Rack 2 e no Rack 3. As operações enviadas para o nó 1 também são enviadas para as réplicas nos outros racks, em sentido horário.
Para expandir um anel do Cassandra com três nós para um de seis nós, configure os nós na maneira no arquivo de configuração silenciosa:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Assim como em um anel de três nós, você precisa instalar o Cassandra na mesma ordem em que os nós
aparecem na propriedade CASS_HOSTS
:
- Nó 1 (IP1)
- Nó 4 (IP4)*
- Nó 2 (IP2)
- Nó 5 (IP5)
- Nó 3 (IP3)
- Nó 6 (IP6)
* Faça suas alterações no arquivo de configuração silenciosa antes de executar o utilitário de configuração no quarto nó (a segunda máquina na ordem de instalação do Cassandra).
Expandir para 12 nós
Para aumentar ainda mais a tolerância a falhas e a disponibilidade, é possível aumentar o número de nós no círculo de 6 a 12. Essa configuração requer mais seis nós (IP7 por IP12).
A imagem a seguir mostra a ordem em que as operações são replicadas no anel (sentido horário) e destaca o fato de que, durante a replicação, não há dois nós adjacentes no mesmo rack:
![3 racks, com 4 nós em cada rack](https://docs.apigee.com/static/private-cloud/images/cassandra-12nodering.png?authuser=0000&hl=pt)
O procedimento para instalar um anel de 12 nós é semelhante à instalação de um anel de três ou seis nós:
Defina CASS_HOSTS
com os valores fornecidos e execute o instalador na ordem especificada.
Para fazer a expansão para um anel do Cassandra de 12 nós, configure os nós da seguinte maneira no silencioso de configuração do Terraform:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Assim como acontece com anéis de três e seis nós, você precisa executar o instalador nos nós na ordem em que os nós aparecem no arquivo de configuração:
- Nó 1 (IP1)
- Nó 7 (IP7)*
- Nó 4 (IP4)
- Nó 8 (IP8)
- Nó 2 (IP2)
- Nó 9 (IP9)
- Nó 5 (IP5)
- Nó 10 (IP10)
- Nó 3 (IP3)
- Nó 11 (IP11)
- Nó 6 (IP6)
- Nó 12 (IP12)
* Você precisa fazer essas alterações antes de instalar o Apigee Edge para nuvem privada no sétimo nó (a segunda máquina o pedido de instalação do Cassandra).