Editado 4 dias atrás por ExtremeHow Equipe Editorial
RedisLinuxClusterConfiguraçãoConfiguraçãoSistema DistribuídoAlta DisponibilidadeEscalabilidadeBanco de DadosServidor
Tradução atualizada 4 dias atrás
Redis é um popular armazenamento de dados em memória que pode ser usado como banco de dados, cache e corretor de mensagens. Ele suporta estruturas de dados como strings, hashes, listas, conjuntos e mais. O Redis Cluster oferece uma maneira de executar uma instalação Redis onde os dados são automaticamente particionados por vários nós Redis. Este tutorial irá guiá-lo através das etapas para configurar um cluster Redis em uma máquina Linux.
Primeiro, você deve garantir que o Redis está instalado em todos os nós que participam do cluster. Use o seguinte comando de acordo com a sua distribuição Linux:
sudo apt update sudo apt install redis-server
sudo yum install epel-release sudo yum install redis
Inicie e habilite o serviço Redis:
sudo systemctl start redis sudo systemctl enable redis
Em cada nó Redis, você deve configurar a instância Redis para modo cluster. Para isso, você deve editar o arquivo /etc/redis/redis.conf
.
Localize e modifique as seguintes configurações:
bind 0.0.0.0
para permitir conexões de fora do localhost.protected-mode
para no
.cluster-enabled
e defina como yes
.cluster-config-file nodes-6379.conf
para especificar o nome do arquivo para a configuração do cluster.cluster-node-timeout 5000
, que é o período de tempo após o qual o nó é considerado inativo.appendonly
e defina como yes
para durabilidade dos dados.Um exemplo de seção de um arquivo redis.conf
pode parecer com isso:
bind 0.0.0.0 protected-mode no port 6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000 appendonly yes
Após salvar as alterações, reinicie o serviço Redis para aplicar a nova configuração:
sudo systemctl restart redis
Crie diretórios para os arquivos de configuração e dados dos nós do cluster. Para simplicidade, vamos assumir que o caminho é /var/lib/redis/
. Repita isso para cada nó:
sudo mkdir -p /var/lib/redis/6379 sudo chown redis:redis /var/lib/redis/6379
O cluster Redis precisa manter algumas portas abertas para comunicação. Para cada nó, as seguintes portas devem estar abertas no firewall:
Use iptables
ou as configurações de firewall do provedor de nuvem para permitir essas portas.
Em seguida, vamos conectar todas as instâncias Redis configuradas para formar um cluster. Use a ferramenta redis-cli
para este propósito. Em qualquer nó, execute o seguinte comando:
redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379 192.168.1.5:6379 --cluster-replicas 1
Substitua os endereços IP pelos endereços IP dos seus nós. A opção --cluster-replicas 1
garante que cada nó mestre tenha uma réplica. Este comando solicitará sua confirmação antes de alocar mestres e escravos como parte da configuração do cluster.
Uma vez que o cluster está configurado, você deve verificar sua configuração conectando-se a ele usando qualquer nó com a ferramenta redis-cli
:
redis-cli -c -p 6379
Para verificar o status do cluster, você pode executar o comando:
cluster nodes
Esta saída mostrará todos os nós do seu cluster com seus papéis (mestre ou escravo), IDs e endereços IP.
Uma vez que seu cluster está funcionando, você pode se perguntar como realizar operações regulares. Aqui estão alguns comandos úteis para gerenciamento de cluster:
Para adicionar um novo nó ao cluster:
redis-cli --cluster add-node newnodeip:port existingnodeip:port
Para remover um nó do cluster:
redis-cli --cluster del-node currentnodeip:port <node_id>
O Redis Cluster usa slots de hash para determinar onde os dados serão armazenados. Às vezes, você pode querer realocar slots de um nó para outro:
redis-cli --cluster reshard currentnodeip:port
Algumas melhores práticas para garantir a estabilidade e desempenho ao operar um cluster Redis incluem:
redis.conf
.Configurar um cluster Redis no Linux envolve instalar o Redis em múltiplos nós, configurar cada instância para modo cluster e usar a ferramenta CLI para conectá-los. Embora este guia forneça um passo a passo compreensivo, atividades regulares de gerenciamento e monitoramento serão necessárias para alcançar desempenho e estabilidade ótimos. Ao seguir este guia, você deu um passo importante em direção ao uso do Redis Cluster e seus benefícios para gerenciamento distribuído de dados.
Se você encontrar algo errado com o conteúdo do artigo, você pode