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
- CPU : 1C
- Modelo de CPU : ARM64
- Memória : 2 GB
- Disco rígido : SSD de 36 GB
informações de software
- Versão da imagem VM : CentOS-7
- Versão do Apache Doris : 1.2.4.1
- 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:
- 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ó.
- 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.
- 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.
- O progresso do DECOMMISSION pode ser visualizado através de SHOW PROC '/backends'; TabletNum, se estiver em andamento, TabletNum continuará diminuindo.
- 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ó
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).
- 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副本的量
- 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";
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
3. Expansão
3.1 Antes da expansão
3.2 Expansão da capacidade
-- 新增be节点,需要确保已经start相应的be进程
alter system add backend "192.168.31.136:9050"
-- 如下图所示新be已经加入集群并开始自动进行数据均衡了
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
Quatro. Resumo
- A expansão da capacidade equilibrará automaticamente os dados
- 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
- 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.