Construção de cluster de banco de dados Apache doris (2)

1. Visão Geral

Este documento apresenta principalmente a preparação das operações de construção, atualização e expansão do cluster com base na construção do banco de dados Apache doris (1) .

2. Requisitos de software e hardware

Como um banco de dados OLAP de arquitetura MPP de código aberto, o Doris pode ser executado na maioria dos servidores comerciais convencionais. Para aproveitar ao máximo as vantagens de simultaneidade da arquitetura MPP e os recursos de alta disponibilidade do Doris, recomendamos que a implantação do Doris siga os seguintes requisitos:

Requisitos de versão do sistema operacional Linux

sistema linux Versão
CentOS 7.1 e acima
ubuntu 16.04 e acima

Requisitos de software

Programas Versão
Java 1.8 e acima
GCC 4.8.2 e acima

Requisitos de instalação do sistema operacional

Para definir o número máximo de identificadores de arquivos abertos no sistema, o comando é o seguinte:

vi /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 65536

Sincronização do relógio

Os metadados de Doris exigem que a precisão do tempo seja inferior a 5000ms, portanto todas as máquinas do cluster devem sincronizar seus relógios para evitar exceções de serviço causadas por inconsistências nos metadados causadas por problemas de relógio.

Feche a partição swap (swap)

A partição de troca do Linux trará sérios problemas de desempenho para Doris, você precisa desativar a partição de troca antes da instalação

Sistema de arquivos Linux

Ambos os sistemas de arquivos ext4 e xfs são suportados.

Ambiente de desenvolvimento e teste

módulo CPU Memória disco rede Número de Instâncias
Front-end 8 núcleos + 8GB+ SSD ou SATA, 10 GB+* Gigabit Ethernet 1
Processo interno 8 núcleos + 16GB+ SSD ou SATA, 50 GB+ * Gigabit Ethernet 1-3 *

Ambiente de produção

módulo CPU Memória disco rede Número de instâncias (requisito mínimo)
Front-end 16 núcleos+ 64 GB+ SSD ou placa RAID, 100 GB+ * placa de rede de 10 Gigabits 1-3 *
Processo interno 16 núcleos+ 64 GB+ SSD ou SATA, 100G+* placa de rede de 10 Gigabits 3 *

Nota 1:

  1. O espaço em disco do FE é usado principalmente para armazenar metadados, incluindo logs e imagens. Normalmente, de algumas centenas de MB a vários GB.
  2. O espaço em disco do BE é usado principalmente para armazenar dados do usuário. O espaço total em disco é calculado pela quantidade total de dados do usuário * 3 (3 cópias) e, em seguida, 40% adicionais do espaço são reservados para compactação em segundo plano e armazenamento de alguns dados intermediários
    .
  3. Várias instâncias de BE podem ser implantadas em uma máquina, mas apenas um FE pode ser implantado. Se forem necessárias 3 cópias de dados, pelo menos 3 máquinas serão necessárias para implantar uma
    instância BE (em vez de 1 máquina implantar 3 instâncias BE). Os relógios dos servidores onde estão localizados vários FEs devem ser consistentes (desvios de relógio de até 5 segundos são permitidos)
  4. O ambiente de teste também pode ser testado com apenas um BE. No ambiente de produção real, o número de instâncias BE determina diretamente a latência geral da consulta.
  5. Todos os nós de implantação fecham o Swap.

Nota 2: Número de nós FE

  1. As funções do FE são divididas em Seguidor e Observador, (Líder é uma função eleita no grupo Seguidor, doravante referido coletivamente como
    Seguidor).
  2. Os dados do nó FE são pelo menos 1 (1 seguidor). Ao implantar 1 seguidor e 1 observador
    , a alta disponibilidade de leitura pode ser alcançada. Ao implantar 3 Seguidores, alta disponibilidade (HA) de leitura e gravação pode ser alcançada.
  3. O número de seguidores deve ser um número ímpar e o número de observadores é arbitrário.
  4. De acordo com a experiência anterior, quando os requisitos de disponibilidade do cluster são altos (como o fornecimento de serviços online), 3 Seguidores e 1-3 Observadores podem ser implantados. Para negócios off-line, é recomendável implantar 1 seguidor e 1-3 observadores.
  • Normalmente, recomendamos cerca de 10 a 100 máquinas para dar desempenho total ao desempenho de Doris (3 delas são implantadas com FE (HA) e as demais são implantadas com BE)
  • Obviamente, o desempenho do Doris está positivamente relacionado ao número de nós e à configuração. O Doris ainda pode funcionar sem problemas com pelo menos 4 máquinas (um FE, três BEs, um BE misturado com um Observer FE para fornecer backup de metadados) e uma configuração inferior.
  • Se FE e BE forem misturados, deve-se prestar atenção à competição de recursos e garantir que o diretório de metadados e o diretório de dados pertençam a discos diferentes.

Implantação do agente

Broker é um processo usado para acessar fontes de dados externas, como hdfs. Normalmente, é suficiente implantar uma instância do broker em cada máquina.

requisitos de rede

As instâncias de Doris se comunicam diretamente pela rede. A tabela abaixo mostra todas as portas necessárias

nome da instância nome da porta porta padrão Direção de comunicação ilustrar
SER be_port 9060 FE --> SER A porta do servidor thrift no BE, usada para receber solicitações do FE
SER webserver_port 8040 SER <–> SER A porta do servidor http no BE
SER heartbeat_service_port 9050 FE --> SER Porta de serviço de heartbeat (thrift) em BE, usada para receber heartbeat de FE
SER brpc_port 8060 FE <–> SER, SER <–> SER porta brpc no BE, usada para comunicação entre BEs
FE http_port 8030 FE <–> FE, usuário <–> FE porta do servidor http no FE
FE rpc_port 9020 BE --> FE, FE <–> FE A porta do servidor thrift no FE, a configuração de cada FE precisa ser consistente
FE porta de consulta 9030 usuário <–> FE porta do servidor mysql no FE
FE edit_log_port 9010 FE <–> FE Porta usada para comunicação entre bdbje no FE
Corretor broker_ipc_port 8000 FE --> Corretora, BE --> Corretora O servidor thrift no Broker é usado para receber solicitações

Observação:
ao implantar várias instâncias do FE, certifique-se de que a configuração http_port do FE seja a mesma.
Antes da implantação, certifique-se de que cada porta tenha direitos de acesso na direção correta.

ligação IP

Devido à existência de várias placas de rede ou à existência de placas de rede virtuais causadas pela instalação do docker e outros ambientes, pode haver vários ips diferentes no mesmo host. Atualmente Doris não pode identificar automaticamente os IPs disponíveis. Portanto, quando houver vários IPs no host de implementação, o item de configuração priority_networks deve 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 iniciar. Os exemplos são os seguintes:

priority_networks=192.168.50.190/24

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

Nota: Depois de configurar priority_networks e iniciar FE ou BE, ele apenas garante que o IP de FE ou BE esteja vinculado corretamente. Ao usar a instrução ADD BACKEND ou ADD FRONTEND, você também precisa especificar o IP que corresponde à configuração priority_networks, caso contrário, o cluster não pode ser estabelecido. Exemplo:

BE 的配置为:priority_networks=192.168.50.190/24

Mas quando ADD BACKEND é usado:

ALTER SYSTEM ADD BACKEND "192.168.0.1:9050";

Então FE e BE não poderão se comunicar normalmente.
Neste momento, você deve DROP o BE adicionado incorretamente e executar ADD BACKEND novamente com o IP correto.
A FE é a mesma.
BROKER atualmente não tem e não precisa da opção priority_networks. O serviço do corretor está vinculado a 0.0.0.0 por padrão. Basta executar o IP do BROKER correto e acessível ao ADD BROKER.
A configuração de diferenciação
de maiúsculas e minúsculas do nome da tabela doris é padronizada para a diferenciação de maiúsculas e minúsculas do nome da tabela. A distinção entre maiúsculas e minúsculas do nome da tabela não pode ser modificada após a conclusão da inicialização do cluster.

3. Implantação de cluster

planejamento ambiental

nome do servidor IP do servidor Papel
nó0 192.168.50.190 FE、BE、Mestre
nó1 192.168.50.189 FE、BE
nó2 192.168.50.188 FE、BE

Primeiro, distribuímos o arquivo para os outros dois servidores por meio do comando scp -r target file root@ip:/data e modificamos o endereço IP correspondente. O comando de operação é o seguinte:

vim be.conf #进入其余两台服务器的doris/be文件下,笔者这里的ip是192.168.50.189
mkdir -p /data/data_dir/ /data/doris-meta/ #在其余分别两个台服务器执行创建

BE adicionar extensão

insira a descrição da imagem aqui

Obs: O outro servidor é o mesmo, não farei demonstração aqui (o outro ip é 192.168.50.188)

Após a conclusão da modificação, use o seguinte comando para incluir o nó BE no cluster:

mysql -uroot -h 192.168.50.190 -P 9030 -p
#密码为root
#或者通过客户端登录
#通过MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中
ALTER SYSTEM ADD BACKEND "192.168.50.188:9050";
ALTER SYSTEM ADD BACKEND "192.168.50.189:9050";

Vá para o diretório de arquivos be de node0 e node1 para iniciar o serviço be correspondente, o comando específico é mostrado na figura a seguir:

./bin/start_be.sh --daemon

Observação: se solicitado, defina vm.max_map_count como 2000000 na raiz usando 'sysctl -w vm.max_map_count=2000000'. Siga os prompts para executar o comando sysctl -w vm.max_map_count=2000000 correspondente

O campo Alive é verdadeiro, indicando que o status BE é normal e ingressou no cluster.

insira a descrição da imagem aqui

FE adicionar extensão

Primeiro entre no diretório fe/conf de doris e use o seguinte comando para editar o arquivo fe.conf e modificar o ip:

vim fe.conf #进入其余两台服务器的doris/fe文件下,笔者这里的ip是192.168.50.189

insira a descrição da imagem aquiinsira a descrição da imagem aqui

Obs: O outro servidor é o mesmo, o autor não fará demonstração aqui (o outro ip é 192.168.50.188); o ip histórico original é 192.168.50.190 [construção do banco de dados apache doris (1)]

Observações FE:
1. O número de FE Seguidor (incluindo Mestre) deve ser um número ímpar. Recomenda-se implantar até 3 para formar um modo de alta disponibilidade >> (HA).
2. Quando o FE está em uma implantação de alta disponibilidade (1 mestre, 2 seguidores), recomendamos expandir a capacidade de serviço de leitura do FE adicionando o Observador FE. Claro, você pode continuar aumentando o Follower FE, mas é quase desnecessário.
3. Normalmente, um nó FE pode lidar com 10-20 nós BE. Recomenda-se que o número total de nós FE seja menor que 10. Geralmente 3 podem atender a maioria das necessidades.
4. O auxiliar não pode apontar para o próprio FE, mas deve apontar para um ou mais FEs Mestre/Seguidor existentes e em execução.

operar

Inicie o serviço FE de node0 node1 (a máquina 192.168.50.190 FE foi iniciada como líder antes) Observação especial: o parâmetro --helper é necessário apenas quando o seguidor e o observador são iniciados pela primeira vez.

## ./bin/start_fe.sh --helper leader_fe_host:edit_log_port --daemon
./bin/start_fe.sh --helper 192.168.50.190  --daemon

Após a conclusão da adição, você pode visualizar o status do FE através de SHOW PROC '/frontends'\G; para ver se Alive é true e, se for True, isso prova que a adição foi bem-sucedida.
insira a descrição da imagem aqui
Agora todos os três nós iniciaram o instância FE, e você precisa usar mysql-client para se conectar ao iniciado. O FE da máquina node2 executa a operação SQL de adicionar o cluster. Como esperamos implantar dois FEs, alterar o node2 para OBSERVER requer a execução dos três comandos a seguir na janela SQL:

#添加FE
ALTER SYSTEM ADD FOLLOWER "192.168.50.189:9010";
ALTER SYSTEM ADD FOLLOWER "192.168.50.189:9010";
#执行前需要删除node2的OBSERVER alter system,drop follower[observer] "ip:port"
ALTER SYSTEM ADD OBSERVER "192.168.50.190:9010";

Visualize a instância FE novamente

show proc '/frontends';

insira a descrição da imagem aqui

Nota: Se você quiser expandir o nó FE correspondente no futuro , você pode adicioná-lo através do comando sql correspondente ALTER SYSTEM ADD FOLLOWER"ip:port"` e o nó BE através do comando sql:

ALTER SYSTEM ADD BACKEND "ip:port";

Até agora, o autor terminou de explicar a construção do cluster de banco de dados doris. Se você tiver alguma dúvida, entre em contato com o autor a tempo. A versão desta seção é 1.2.1.4

Acho que você gosta

Origin blog.csdn.net/weixin_43114209/article/details/131652506
Recomendado
Clasificación