Expansão e contração BE da operação e manutenção minimalista do Apache Doris (1)

1. Informação ambiental

Três nós BE foram implementados e o status mostra que eles estão funcionando normalmente

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

2. Encolhimento

2.1 Redução de DROP BACKEND

Nota: DROP BACKEND excluirá diretamente o BE e os dados nele contidos não serão mais recuperáveis! ! !
Portanto, não é altamente recomendável usar DROP BACKEND para excluir nós BE. Ao usar esta instrução, haverá avisos anti-má operação correspondentes.

-- ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port"; -- 会有误操作提示
-- ALTER SYSTEM DROPP BACKEND "be01:9050"; --直接删除,慎用!

2.2 Encolhimento de BACKEND DE DESCOMISSÃO

Descrição do comando DECOMMISSION:

  1. Este comando é usado para excluir nós BE com segurança. Após a emissão do comando, Doris tentará migrar os dados do BE para outros nós do BE e, quando todos os dados forem migrados, Doris excluirá automaticamente o nó.
  2. Este comando é uma operação assíncrona. Após a execução, você pode usar SHOW PROC '/backends'; para ver se o status isDecommission do nó BE é verdadeiro. Indica que o nó está ficando offline.
  3. O comando não é necessariamente executado com êxito. Por exemplo, se o espaço de armazenamento restante do BE não for suficiente para acomodar os dados no BE offline, ou se o número de máquinas restantes não atender ao número mínimo de cópias, o comando não poderá ser concluído e o BE estará sempre no o estado de isDecommission é verdadeiro.
  4. O progresso do DECOMMISSION pode ser visualizado através de SHOW PROC '/backends'; TabletNum, se estiver em andamento, TabletNum continuará diminuindo.
  5. Esta operação pode ser feita por:
CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

Pedido cancelado. Após o cancelamento, os dados no BE manterão o volume de dados restante atual. Doris subsequente irá reequilibrar a carga

-- ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
ALTER SYSTEM DECOMMISSION BACKEND "be01:9050";

2.2.1 Antes de reduzir

http://192.168.31.78:8030/System?path=//backends Ver informações do nó

insira a descrição da imagem aqui

2.2.2 Encolhimento

A redução falhou; o nó BE reduzido está sempre no estado de isDecommission sendo true , porque o número de máquinas restantes não atende ao número mínimo de cópias (3 cópias).

insira a descrição da imagem aqui

  1. Cancele DECOMMISSION BACKEND e ajuste a tabela com 3 cópias para 2 cópias
-- 取消DECOMMISSION BACKEND
-- CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
CANCEL DECOMMISSION BACKEND "be01:9050";

-- 3副本表调成2副本
-- 非分区部分
ALTER TABLE db.table_name SET ("default.replication_num" = "2");
ALTER TABLE db.table_name SET ("default.replication_allocation" = "tag.location.default: 2");
-- 分区部分
ALTER TABLE zbh_test.dwd_lbu_mbi_bil_income_d02 MODIFY PARTITION (逗号分隔可填写多个分区名) SET("replication_num"="2");

-- 如下图所示tablet数开始减少至2副本的量

insira a descrição da imagem aqui

  1. Execute novamente o DECOMMISSION BACKEND após atender aos requisitos de cópia para redução
-- ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
ALTER SYSTEM DECOMMISSION BACKEND "be01:9050";

insira a descrição da imagem aqui

2.2.3 Depois de reduzir

A cópia é balanceada automaticamente para nós não offline. Depois que a cópia é balanceada, ela descarta automaticamente o nó offline, mas o processo precisa parar sozinho

# 需要手动停止be进程
sh bin/stop_be.sh 

insira a descrição da imagem aqui

3. Expansão

3.1 Antes da expansão

insira a descrição da imagem aqui

3.2 Expansão da capacidade

-- 新增be节点,需要确保已经start相应的be进程
alter system add backend "192.168.31.136:9050"

-- 如下图所示新be已经加入集群并开始自动进行数据均衡了

insira a descrição da imagem aqui

3.3 Após expansão

Depois que os dados estiverem totalmente balanceados, conforme mostrado na figura abaixo, é quase equivalente à distribuição do tablet das 2 cópias antes que a redução seja concluída

insira a descrição da imagem aqui

Quatro. Resumo

  1. A expansão da capacidade equilibrará automaticamente os dados
  2. O escalonamento realizará o balanceamento de dados automaticamente, mas você precisa prestar atenção para não DROP diretamente, você precisa ir DECOMMISSION e sh stop_be.sh
  3. Referência de eficiência de migração: A migração de cópias começou às 16h32 ( 1.590 TB / 141 tablets); a migração foi concluída às 17h39, com uma média de 1667235m / 4020s = 414m/s (Tabelas grandes são demoradas, você pode verificar o ainda -migrando tablets através das estatísticas do weiui); Após a migração, o nó ficará offline, e o show PROC '/backends' não mostrará o nó offline.

Acho que você gosta

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