登 录
注 册
< 数 据 库
MySQL
ClickHouse
ES
Doris
MongoDB
Redis
其他DB
Doris概述
Doris扩容和缩容
Doris数据模型
Doris优化
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
当前位置:
首页
>>
Doris
>>
Doris扩容和缩容
Doris扩容和缩容
2023-09-10 11:32:37 星期日 发表于北京 阅读:554
![](/static/images/article_images/1694316470.2821288.jpeg) Doris可以很方便的扩容和缩容 FE、BE、Broker 实例 #### FE 扩容和缩容 可以通过将 FE 扩容至 3 个以上节点来实现 FE 的高可用。 1、使用 MySQL 登录客户端后,可以使用 sql 命令查看 FE 状态,目前就一台 FE ``` mysql -h hadoop1 -P 9030 -uroot -p SHOW PROC "/frontends"; ``` 也可以通过页面访问进行监控,访问 8030,账户为 root,密码默认为空不用填写。 **2、增加 FE 节点** FE 分为 Leader,Follower 和 Observer 三种角色。 默认一个集群,只能有一个 Leader,可以有多个 Follower 和 Observer。其中 Leader 和 Follower 组成一个 Paxos 选择组,如果Leader 宕机,则剩下的 Follower 会自动选出新的 Leader,保证写入高可用。Observer 同步Leader 的数据,但是不参加选举。 如果只部署一个 FE,则 FE 默认就是 Leader。在此基础上,可以添加若干 Follower 和Observer。 ``` ALTER SYSTEM ADD FOLLOWER "hadoop2:9010"; ALTER SYSTEM ADD OBSERVER "hadoop3:9010"; ``` **3、配置及启动 Follower 和 Observer** 第一次启动时,启动命令需要添加参--helper leader 主机: edit_log_port: (1)分发 FE,修改 FE 的配置 ``` scp -r /opt/module/apache-doris-0.15.0/fe hadoop2:/opt/module/ apache-doris-0.15.0 scp -r /opt/module/apache-doris-0.15.0/fe hadoop3:/opt/module/ apache-doris-0.15.0 ``` (2)在 hadoop2 启动 Follower ``` /opt/module/apache-doris-0.15.0/fe/bin/start_fe.sh --helper hadoop1:9010 --daemon (3)在 hadoop3 启动 Observer /opt/module/apache-doris-0.15.0/fe/bin/start_fe.sh --helper hadoop1:9010 --daemon ``` **4、查看运行状态** 使用 mysql-client 连接到任一已启动的 FE `SHOW PROC "/frontends"; ` **5、删除 FE 节点命令** `ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";` 注意:删除 Follower FE 时,确保最终剩余的 Follower(包括 Leader)节点为奇数 #### BE 扩容和缩容 **1、增加 BE 节点** 在 MySQL 客户端,通过 ALTER SYSTEM ADD BACKEND 命令增加 BE 节点。 **2、DROP 方式删除 BE 节点(不推荐)** `ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port";` 注意:DROP BACKEND 会直接删除该 BE,并且其上的数据将不能再恢复!!!所以 我们强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当你使用这个语句时,会 有对应的防误操作提示。 **3、DECOMMISSION 方式删除 BE 节点(推荐)** ``` ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port"; ``` - 该命令用于安全删除 BE 节点。 命令下发后,Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移,当所有数据都迁移完成后,Doris 会自动删除该节点。 - 该命令是一个异步操作。 执行后,可以通过 SHOW PROC "/backends"; 看到该 BE节点的 isDecommission 状态为 true。表示该节点正在进行下线。 - 该命令不一定执行成功。 比如剩余 BE 存储空间不足以容纳下线 BE 上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且 BE 会一直处于isDecommission 为 true 的状态。 - DECOMMISSION 的进度,可以通过 SHOW PROC "/backends"; 中的 TabletNum 查看,如果正在进行,TabletNum 将不断减少。 - 该操作可以通过如下命令取消: `CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";` 取消后,该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡。 #### Broker 扩容缩容 Broker 实例的数量没有硬性要求。通常每台物理机部署一个即可。Broker 的添加和删除可以通过以下命令完成: ``` ALTER SYSTEM ADD BROKER broker_name "broker_host:broker_ipc_port"; ALTER SYSTEM DROP BROKER broker_name "broker_host:broker_ipc_port"; ALTER SYSTEM DROP ALL BROKER broker_name; ``` Broker 是无状态的进程,可以随意启停。当然,停止后,正在其上运行的作业会失败,重试即可。