Doris BE 节点迁移、节点下线

Doris 动态分区使用方法说明。

Doris 动态分区使用方法说明。

在我们的生产环境,Doris 部署在 CDH 集群,每当早批进行时,都会出现资源争夺的问题。

因为 Doris BE 单个进程占用的内存最大,所以总是会被 Kill 掉,导致任务失败。

基于以上原因需要将 Doris BE 独立部署,因为时生产环境,数据的迁移需要平滑无感,不影响成产使用。

官方文档

http://doris.incubator.apache.org/master/zh-CN/installing/install-deploy.html#%E6%89%A9%E5%AE%B9%E7%BC%A9%E5%AE%B9

BE 下线流程

在新节点部署完成后,开始进行 BE 节点的下线操作。

下线操作命令:

1
ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

下线操作确认:

1
SHOW PROC '/backends' \G

下线操作状态确认:

可以看到 SystemDecommissioned: true,证明正在进行 BE 的下线操作。

TabletNum 会持续的减少,转移到其他 BE 节点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
*************************** 4. row ***************************
BackendId: 10002
Cluster: default_cluster
IP: 10.0.15.131
HostName: cdh9
HeartbeatPort: 9050
BePort: 9060
HttpPort: 18040
BrpcPort: 8060
LastStartTime: 2021-06-29 17:34:50
LastHeartbeat: 2021-07-06 08:07:27
Alive: true
SystemDecommissioned: true
ClusterDecommissioned: false
TabletNum: 463
DataUsedCapacity: 6.894 GB
AvailCapacity: 1.528 TB
TotalCapacity: 2.884 TB
UsedPct: 47.02 %
MaxDiskUsedPct: 47.02 %
ErrMsg:
Version:
Status: {"lastSuccessReportTabletsTime":"N/A"}

Tips

注意:

BE 迁移时 Tablet 的数量减少到0或者很少的数量后会停止不动,始终不能结束,

这时候需要耐心等待,我们的经验是,1天下线完成一个节点。

所以要等待 BE 自动迁移完成,不要强行删除,强行删除可能会导致数据丢失。

取消下线命令:

取消下线后,会立即停止 Tablet 的转移,维持当前的 Tablet 数量,

一段时间后,其他节点的 Tablet 会逐渐平衡到这个节点。

1
CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";