Explicação detalhada do problema de mudança de IP do Apache Doris

1. Fundo

Devido à existência de várias placas de rede ou à existência de placas de rede virtuais causadas pela instalação do docker e de outros ambientes, pode haver vários IPs diferentes no mesmo host. Atualmente o Apache Doris não identifica automaticamente os IPs disponíveis. Portanto, quando houver vários IPs no host de implementação, o item de configuraçãopriority_networks deverá ser usado para forçar a especificação do IP correto.

Priority_networks é uma configuração para FE e BE, e os itens de configuração precisam ser escritos em fe.conf e be.conf. Este item de configuração é usado para informar ao processo qual IP deve ser vinculado quando FE ou BE for iniciado. Os exemplos são os seguintes:

prioridade_redes=10.1.3.0/24

Esta é uma representação do CIDR . FE ou BE procurarão um IP correspondente de acordo com este item de configuração como seu próprio IP local.

O CIDR adota a notação de barra, que é expressa como: o número de dígitos do endereço IP/ID da rede.
O método de conversão específico pode ser visto nos dois exemplos a seguir.

  1. 192.168.0.0/16, convertido em um endereço binário de 32 bits: 11000000.10101000.00000000.00000000. Entre eles, /16 significa ID de rede de 16 bits, ou seja, os primeiros 16 bits do endereço binário de 32 bits são fixos e o segmento de rede correspondente é: 11000000.10101000.00000000.00000000 ~ 11000000.10101000.11111111.11111111.
  2. 192.168.1.2/24, convertido em um endereço binário de 32 bits: 11000000.10101000.00000001.00000000. Entre eles, /24 significa que os primeiros 24 bits do endereço binário de 32 bits são fixos e o segmento de rede correspondente é: 11000000.10101000.00000001.00000000~11000000.10101000.00000001.11111111

Quando os seguintes cenários ocorrerem, o IP mudará, resultando em exceções fe/be que não podem iniciar e operar normalmente

  1. A migração do cluster faz com que o segmento da rede IP mude
  2. Endereço dinâmico em ambiente virtual leva à mudança de IP
  3. Priority_networks não está configurado corretamente antes de reiniciar o fe/be, resultando na inconsistência entre o IP obtido após a reinicialização e os metadados

2. Meio Ambiente

informações de hardware

  1. CPU : 1C
  2. Modelo de CPU : ARM64
  3. Memória : 2 GB
  4. Disco rígido : SSD de 36 GB

informações de software

  1. Versão da imagem VM : CentOS-7
  2. Versão do Apache Doris : 1.2.4.1
  3. Tamanho do cluster : 1FE * 3BE

3. Recuperação FE

3.1 Registro de exceções

Visualizar fe.out reportará a seguinte exceção: Neste momento, o processo fe não pode ser iniciado;
antes da operação, faça backup de todos os metadados fe e interrompa as ações de leitura e gravação upstream !

insira a descrição da imagem aqui

3.2 Obtenha o IP atual

ip addr

insira a descrição da imagem aqui

3.3 Redefinir informações de IP

Após redefinir as informações de IP, a exceção acima ainda será relatada

# 修改fe.conf的priority_networks
priority_networks = 192.168.0.0/16
# 或者
priority_networks = 192.168.31.78/16

3.4 Redefinindo registros de metadados

Depois de redefinir o registro de metadados, embora o processo fe possa ser iniciado, ele fica indisponível

# 注释掉fe元数据中之前记录的老ip
vim doris-meta/image/ROLE

insira a descrição da imagem aqui

3.5 Recuperação de esquema de metadados

# 在fe.conf中新增metadata_failure_recovery=true启用恢复模式重启fe
vim fe.conf
metadata_failure_recovery=true

# 此时进入http://192.168.31.78:8030/login 可以打开fe web ui说明可以正常启动fe了

insira a descrição da imagem aqui

3.6 Redefinir nós do cluster fe

Embora o uso do modo de recuperação de metadados fe possa ser iniciado no momento, ele não foi totalmente restaurado, porque os nós do cluster registrados nos metadados fe atuais não possuem o nó ip recém-modificado

# 在mysql客户端或者web ui的Playground执行如下sql更新fe元数据中记录的fe节点
# 移除老ip节点
ALTER SYSTEM DROP FOLLOWER "192.168.31.81:9010";

# 新增新ip节点
ALTER SYSTEM ADD FOLLOWER "192.168.31.78:9010";

O antigo nó ip é o seguinte

nó ip antigo

O novo nó ip é o seguinte

novo nó ip

3.7 Desligue o modo de metadados e reinicie o fe

# 在fe.conf中注释metadata_failure_recovery=true关闭恢复模式重启fe
vim fe.conf
#metadata_failure_recovery=true

# 此时进入http://192.168.31.78:8030/login 可以打开fe web ui说明fe完全恢复了

4. Recuperação BE

4.1 Obtenha o IP atual

ip addr

insira a descrição da imagem aqui

4.2 Redefinir informações de IP

# 修改be.conf的priority_networks
priority_networks = 192.168.0.0/16
# 或者
priority_networks = 192.168.31.136/16
# 设置完成后重启be即可恢复

4.3 Redefinir os nós do cluster

Embora o be atual tenha sido iniciado, ele não foi totalmente restaurado, porque os nós do cluster be registrados nos metadados fe atuais não possuem o nó be recém-modificado

# 在mysql客户端或者web ui的Playground执行如下sql更新fe元数据中记录的be节点
# 移除老ip节点
ALTER SYSTEM DROPP FOLLOWER "192.168.31.81:9010";
ALTER SYSTEM DROPP FOLLOWER "192.168.31.72:9010";
ALTER SYSTEM DROPP FOLLOWER "192.168.31.133:9010";

# 新增新ip节点
ALTER SYSTEM ADD FOLLOWER "192.168.31.78:9010";
ALTER SYSTEM ADD FOLLOWER "192.168.31.71:9010";
ALTER SYSTEM ADD FOLLOWER "192.168.31.136:9010";

Os 3 bes são totalmente restaurados após a reinicialização da seguinte forma

insira a descrição da imagem aqui

O problema anormal do cluster Apache Doris causado pela mudança de IP foi processado e restaurado. Se você encontrar algum problema durante o processo de revisão, deixe uma mensagem para comunicar

Acho que você gosta

Origin blog.csdn.net/ith321/article/details/132376132
Recomendado
Clasificación