• 下一代实时数据库:Apache Doris 【四】扩容缩容


    2.5 扩容和缩容

    Doris 可以很方便的扩容和缩容 FE、BE、Broker 实例。

    2.5.1 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 的配置(同 2.4.2)

    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)节点为奇数。

    2.5.2 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 重新进行负载均衡。

    2.5.3 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 是无状态的进程,可以随意启停。当然,停止后,正在其上运行的作业会失败,

    重试即可。

    后记

    📢博客主页:https://manor.blog.csdn.net

    📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
    📢本文由 Maynor 原创,首发于 CSDN博客🙉
    📢不能老盯着手机屏幕,要不时地抬起头,看看老板的位置⭐
    📢专栏持续更新,欢迎订阅:https://blog.csdn.net/xianyu120/category_12401955.html

  • 相关阅读:
    国际专线物流优势与劣势分析
    Linux目录和文件管理(CentOS)
    JAVA concurrency -- AQS 源码详解
    MySQL——内置函数
    猫不长肉怎么办?增肥效果好、让猫咪迅速圆润起来的猫罐头分享!
    Java程序员所需Javascript知识
    二叉树 | 翻转二叉树 | leecode刷题笔记
    vue柱状图+折线图组合
    数据结构初步(九)- 栈和队列oj练习
    HashMap 源码解析超详解
  • 原文地址:https://blog.csdn.net/xianyu120/article/details/133134154