Apache Doris 是现代化的 MPP(Massively Parallel Processing 大规模并行处理)框架分析性数据库,有效支持实时数据分析,分布式架构简单,易于维护,支持10PB级别的超大数据集
FE (Frontend) BE(Backend),不依赖其他组件方便扩展,FE BE都可以线性拓展
参考官网https://doris.apache.org/zh-CN/docs/get-starting/quick-start/
cd apache-doris-x.x.x/fe
修改conf/fe.conf 修改priority_networks及
meta_dir(默认是在你的Doris FE 安装目录下的 doris-meta) 分别表示绑定的IP网段和元数据存放目录
priority_networks=172.23.16.0/24
meta_dir=/path/your/doris-meta
启动./bin/start_fe.sh --daemon
查看运行状态 curl http://127.0.0.1:8030/api/bootstrap 如果返回结果中带有 "msg":"success"
表示成功
也可以访问FE WEB页面 http://fe_ip:8300
通过MySQL客户端连接FE 账号root 密码默认为空
MySQL [(none)]> show frontends \G;
*************************** 1. row ***************************
Name: fe_26e5b2c1_053a_46ed_91eb_e1b1b3f8c4c8
Host: 192.168.150.128
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: FOLLOWER
IsMaster: true
ClusterId: 1026807980
Join: true
Alive: true
ReplayedJournalId: 1763
LastHeartbeat: 2024-01-08 10:10:32
IsHelper: true
ErrMsg:
Version: doris-2.0.3-rc06-37d31a5
CurrentConnected: Yes
1 row in set (0.06 sec)
修改Linux最大打开文件数
修改配置 priority_networks=172.23.16.0/24 和 BE存储路径 storage_root_path=/home/disk1/doris.HDD,5 格式为 目录,限制大小G为单位,HDD/SSD【需要自己创建目录】
启动BE ./bin/start_be.sh --daemon
在FE中 将BE添加入doris集群 heartbeat_service_port默认9050
ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
查看BE状态
MySQL [(none)]> show backends\G;
*************************** 1. row ***************************
BackendId: 10894
Host: 192.168.150.128
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2024-01-08 10:24:42
LastHeartbeat: 2024-01-08 10:26:47
Alive: true
SystemDecommissioned: false
TabletNum: 14
DataUsedCapacity: 0.000
TrashUsedCapcacity: 0.000
AvailCapacity: 16.519 GB
TotalCapacity: 25.983 GB
UsedPct: 36.42 %
MaxDiskUsedPct: 36.42 %
RemoteUsedCapacity: 0.000
Tag: {"location" : "default"}
ErrMsg:
Version: doris-2.0.3-rc06-37d31a5
Status: {"lastSuccessReportTabletsTime":"2024-01-08 10:25:54","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 0
NodeRole: mix
1 row in set (0.01 sec)
Broker 以插件的形式,独立于 Doris 部署。如果需要从第三方存储系统导入数据,需要部署相应的 Broker,默认提供了读取 HDFS、百度云 BOS 及 Amazon S3 的 fs_broker。fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker
cd /opt/doris/apache-doris-2.0.3-bin-x64/extensions/apache_hdfs_broker
启动./bin/start_broker.sh --daemon
FE中添加broker
# ALTER SYSTEM ADD BROKER broker_name 'broker_ip:broker_port【默认8000】'
ALTER SYSTEM ADD BROKER broker1 "192.168.150.128:8000";
查看broker状态SHOW PROC “/brokers”;
MySQL [(none)]> SHOW PROC "/brokers";
+---------+-----------------+------+-------+---------------------+---------------------+--------+
| Name | Host | Port | Alive | LastStartTime | LastUpdateTime | ErrMsg |
+---------+-----------------+------+-------+---------------------+---------------------+--------+
| broker1 | 192.168.150.128 | 8000 | true | 2024-01-08 10:48:01 | 2024-01-08 10:48:41 | |
+---------+-----------------+------+-------+---------------------+---------------------+--------+
1 row in set (0.02 sec)
参考官网https://doris.apache.org/zh-CN/docs/admin-manual/cluster-management/elastic-expansion
FE 分为 Leader,Follower 和 Observer 三种角色。 默认一个集群,只能有一个 Leader,可以有多个 Follower 和 Observer。其中 Leader 和 Follower 组成一个 Paxos 选择组,如果Leader 宕机,则剩下的 Follower 会自动选出新的 Leader,保证写入高可用。Observer 同步Leader 的数据,但是不参加选举。
这里 Follower 和 Observer 的配置同 Master 的配置。首先第一次启动时,需执行以下命令:
# --helper 参数仅在 follower 和 observer 第一次启动时才需要
# edit_log_port 默认9010
./bin/start_fe.sh --helper leader_fe_host:edit_log_port --daemon
ALTER SYSTEM ADD FOLLOWER "follower_host:edit_log_port";
ALTER SYSTEM ADD OBSERVER "observer_host:edit_log_port";
查看 Follower 或 Observer 运行状态。使用 mysql-client 连接到任一已启动的 FE,并执行:SHOW PROC ‘/frontends’; 可以查看当前已加入集群的 FE 及其对应角色
FE 扩容注意事项:
- Follower FE(包括 Master)的数量必须为奇数,建议最多部署 3 个组成高可用(HA)模式即可。
- 当 FE 处于高可用部署时(1个 Master,2个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力。当然也可以继续增加 Follower FE,但几乎是不必要的。
- 通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下。而通常 3 个即可满足绝大部分需求。
- helper 不能指向 FE 自身,必须指向一个或多个已存在并且正常运行中的 Master/Follower FE。
删除FE节点
ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";
FE 缩容注意事项:
- 删除 Follower FE 时,确保最终剩余的 Follower(包括 Master)节点为奇数。
BE的扩容与缩容
BE部署方式同之前一样,通过 ALTER SYSTEM ADD BACKEND
命令增加 BE 节点
删除BE
删除 BE 节点有两种方式:DROP 和 DECOMMISSION
ALTER SYSTEM DROP BACKEND “be_host:be_heartbeat_service_port”;
注意:DROP BACKEND 会直接删除该 BE,并且其上的数据将不能再恢复!!!所以我们强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当你使用这个语句时,会有对应的防误操作提示。
ALTER SYSTEM DECOMMISSION BACKEND “be_host:be_heartbeat_service_port”;
DECOMMISSION 命令说明:
- 该命令用于安全删除 BE 节点。命令下发后,Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移,当所有数据都迁移完成后,Doris 会自动删除该节点。
- 该命令是一个异步操作。执行后,可以通过
SHOW PROC '/backends';
看到该 BE 节点的SystemDecommissioned
状态为 true。表示该节点正在进行下线。- 该命令不一定执行成功。比如剩余 BE 存储空间不足以容纳下线 BE 上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且 BE 会一直处于
SystemDecommissioned
为 true 的状态。- DECOMMISSION 的进度,可以通过
SHOW PROC '/backends';
中的 TabletNum 查看,如果正在进行,TabletNum 将不断减少。- 该操作可以通过:
CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
命令取消。取消后,该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡