Doris--基础--2.5--部署--扩容和缩容

Doris–基础–2.5–部署–扩容和缩容


前提

使用hd用户登陆
完成 Doris--基础--2.4--部署--集群部署

1、FE 扩容和缩容

  1. 可以通过将 FE 扩容至 3 个以上节点来实现 FE 的高可用。
  2. FE 节点的扩容和缩容过程,不影响当前系统运行
  3. Follower FE(包括 Leader)的数量必须为奇数,建议最多部署 3 个组成高可用(HA)模式即可
  4. 当 FE 处于高可用部署时(1个 Leader,2个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力。当然也可以继续增加 Follower FE,但几乎是不必要的
  5. 通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下。而通常 3 个即可满足绝大部分需求
  6. helper 不能指向 FE 自身,必须指向一个或多个已存在并且正常运行中的 Master/Follower FE
    1. /bin/start_fe.sh --helper host:port --daemon
      1. host 为Leader IP
      2. fe.conf 中的 edit_log_port的端口,默认9010
      3. 总体意思:启动FE的时候,加入host:port节点的集群
  7. 删除 Follower FE 时,确保最终剩余的 Follower(包括 Leader)节点为奇数

1.1、添加 Follower 或 Observer

  1. FE 分为 Leader,Follower 和 Observer 三种角色。
  2. 默认一个集群,只能有一个 Leader,可以有多个 Follower 和 Observer。
    1. 其中 Leader 和 Follower 组成一个 Paxos 选择组
    2. 如果 Leader 宕机,则剩下的 Follower 会自动选出新的 Leader,保证写入高可用。
    3. Observer 同步 Leader 的数据,但是不参加选举。
    4. 如果只部署一个 FE,则 FE 默认就是 Leader。
  3. 第一个启动的 FE 自动成为 Leader。在此基础上,可以添加若干 Follower 和 Observer。

1.1.1、命令

# port:fe.conf 中的 edit_log_port的端口,默认9010
ALTER SYSTEM ADD FOLLOWER "ip:port"; 
或者
ALTER SYSTEM ADD OBSERVER "ip:port";

1.1.2、案例

  1. 将node1节点添加为LEADER
  2. 将node2节点添加为FOLLOWER
  3. 将node3节点添加为FOLLOWER

1.1.2.1、步骤–01

# 连接node01的fe
mysql -uroot -P9030 -h127.0.0.1


# 将node2节点添加为FOLLOWER
ALTER SYSTEM ADD FOLLOWER "node02:9010"; 

# 将node3节点添加为FOLLOWER,如果想使用OBSERVER,就将FOLLOWER替换为OBSERVER
ALTER SYSTEM ADD FOLLOWER "node03:9010"; 


1.1.2.2、步骤–02

  1. 分别依次停止三台节点的fe服务,顺序如下
    1. node01
    2. node02
    3. node03
 ~/doris/fe/fe/bin/stop_fe.sh 

Doris--基础--2.5--部署--扩容和缩容_第1张图片

1.1.2.3、步骤–03

启动node1节点


~/doris/fe/fe/bin/start_fe.sh --daemon

1.1.2.4、步骤–04

启动node2节点

# 指定leader节点的位置
~/doris/fe/fe/bin/start_fe.sh --helper node1:9010 --daemon

1.1.2.5、步骤–05

启动node3节点

# 指定leader节点的位置
~/doris/fe/fe/bin/start_fe.sh --helper node1:9010 --daemon

1.1.2.6、步骤–06

查看

SHOW PROC '/frontends';
http://192.168.187.101:8030/System?path=//frontends

Doris--基础--2.5--部署--扩容和缩容_第2张图片
Doris--基础--2.5--部署--扩容和缩容_第3张图片

1.2、删除 FE 节点

1.2.1、命令

ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";

1.2.2、案例

  1. 删除node2节点的 FOLLOWER FE

1.2.2.1、步骤–01

# 连接node01的fe
mysql -uroot -P9030 -h127.0.0.1

# 删除node2节点的 FOLLOWER FE
ALTER SYSTEM DROP FOLLOWER "node02:9010";
 

1.2.2.2、步骤–02

查看

SHOW PROC '/frontends';
http://192.168.187.101:8030/System?path=//frontends

Doris--基础--2.5--部署--扩容和缩容_第4张图片

Doris--基础--2.5--部署--扩容和缩容_第5张图片

2、BE 扩容和缩容

  1. 使用 mysql-client 登陆 Master FE。
  2. BE 节点的扩容和缩容过程,不影响当前系统运行以及正在执行的任务,并且不会影响当前系统的性能。数据均衡会自动进行。根据集群现有数据量的大小,集群会在几个小时到1天不等的时间内,恢复到负载均衡的状态。

2.1、增加 BE 节点

  1. BE 扩容后,Doris 会自动根据负载情况,进行数据均衡,期间不影响使用

2.1.1、命令

# 连接 Master FE
mysql -uroot -P9030 -h127.0.0.1

# 执行下面的 SQL,将 BE 添加到集群中
# ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
ALTER SYSTEM ADD BACKEND "192.168.187.101:9050";

说明

be_host_ip:
	1. BE 的 IP 地址
	2. 和你在 be.conf 里的 priority_networks 匹配
heartbeat_service_port:
	1. BE 的心跳上报端口
	2. 和你在 be.conf 里的 heartbeat_service_port 匹配
	3. 默认是 9050。

2.2、删除 BE 节点

  1. 删除 BE 节点有两种方式
    1. DROP
    2. DECOMMISSION

2.2.1、DROP

  1. 会直接删除该 BE,并且其上的数据将不能再恢复,强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当你使用这个语句时,会有对应的防误操作提示。
ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port";

2.2.2、DECOMMISSION

ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
  1. 用于安全删除 BE 节点。
    1. 命令下发后,Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移,当所有数据都迁移完成后,Doris 会自动删除该节点。
  2. 该命令是一个异步操作。执行后,可以通过 SHOW PROC ‘/backends’\G; 看到该 BE 节点的 isDecommission 状态为 true。表示该节点正在进行下线。
  3. 该命令不一定执行成功。
    1. 比如剩余 BE 存储空间不足以容纳下线 BE 上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且 BE 会一直处于 isDecommission 为 true 的状态。
  4. DECOMMISSION 的进度,可以通过 SHOW PROC ‘/backends’; 中的 TabletNum 查看,如果正在进行,TabletNum 将不断减少。
    1. 该操作可以通过: CANCEL DECOMMISSION BACKEND “be_host:be_heartbeat_service_port”; 命令取消。取消后,该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡

2.2.3、案例

删除node2节点

2.2.3.1、步骤–01

# 连接node01的fe
mysql -uroot -P9030 -h127.0.0.1


# 删除node2节点
ALTER SYSTEM DECOMMISSION BACKEND "node02:9050";

Doris--基础--2.5--部署--扩容和缩容_第6张图片
Doris--基础--2.5--部署--扩容和缩容_第7张图片
Doris--基础--2.5--部署--扩容和缩容_第8张图片

你可能感兴趣的:(Doris,数据仓库)