Doris进阶——初识Doris_FE、BE、BROKER的扩缩容

2年前 (2022) 程序员胖胖胖虎阿
243 0 0

Doris简介:

Doris最初是由百度大数据研发部研发,之前在百度使用时叫做Palo,在贡献给Apache社区后更名为Doris。之前在百度内部超过100台机器部署Doris,服务的产品线超过200条。

Doris是一个现代化的MPP(大规模并行处理)架构的分析型数据库。拥有压秒级的查询响应,能够有效的支持实时数据分析。且易于运维,能够支撑10PB以上的超大的数据集。(MPP架构的数据库是将任务并行的分散到多个的节点上,进行协同计算,在每个节点将各自的计算任务处理完成之后,再将计算的结果进行汇总,输出最终的结果)

Doris可以满足多种的数据分析需求,例如固的历史报表、实时数据分析、交互式数据和探索式的数据分析。

Doris的主要特点:

  • MPP架构的分析型数据库
  • 毫秒级别的响应速度
  • 支持标准的SQL(兼容Mysql协议)
  • 丰富的聚合模型,以及聚合表技术
  • Rollup等预聚合技术
  • 运维简单,弹性伸缩
  • 高可用、高可靠
  • 丰富的周边生态工具
  • 向量化执行器

 (具体可看官网:Doris官网)

Doris的主要架构:

Doris的主要架构分为FE(frontend)、BE(backend)两个角色、两个进程,不依赖于外部的组件,极易部署、运维,FE和BE都有很好的拓展性。

FE:存储和维护集群的元数据,负责接收和解析用户的查询请求,规划查询计化,调度查询结果。

        FE主要分为三个角色:Leader、Follower、Observer

        Leader和Follower主要是用来实现Doris集群的高可用,在Leader宕机之后,Follower节点能够迅速代替Leader的工作,能够实现实时恢复元数据,从而保证对Doris集群不造成任何影响。

        Observer是用来拓展查询节点的,同时起到了元数据备份的作用,如果在感知到集群的查询有压力时,可以同通过添加Observer节点来达到提高集群查询的能力,注意:Observer只参与读取,不参与写入。

BE:负责数据的主要存储和计算,以及根据FE生成的物理执行计划,然后进行查询(分布式,多节点并行执行查询,统一汇总)。同时BE还会将数据存储为3副本或者多副本(可根据数据的权重以及集群的资源进行合理设置,可以动态调整)。

Broker:broker是一个无状态的进程。其中封装了文件系统的接口,能够为Doris提供访问外部数据源的能力(比如:HDFS、S3等)。通常在每一台节点上部署一个broker的示例即可。

MysqlClient:Doris是借助MysqlClient协议,所以MysqlClient可以直接访问Doris

Doris的编译部署:可参考官网:Doris部署

Doris常用端口:

Doris进阶——初识Doris_FE、BE、BROKER的扩缩容

 Doris中FE、BE、Broker的扩容和缩容:

  • 使用Mysql客户端登录,查看FE的状态:mysql  -h ip   -P 9030  -uroot  -p xxxxx
  • SHOW PROC '/frontends'\G;  可查看FE状态
  • 将FE包的分发到准备添加为FE的
  • Doris进阶——初识Doris_FE、BE、BROKER的扩缩容
  • 首次启动需要在启动命令后加参数:--helper leader主机: edit_log_port(9010)--daemon

  • 通过 ALTER SYSTEM ADD FOLLOWER "host:9010"; 添加Follower

  • 通过 ALTER SYSTEM ADD OBSERVER"host:9010"; 添加Observer

  • 一个FE只能有一个Leader但是可以有多个Follower和Observer,其中Leader和Follower组成一个Paxos组,保证高可用,Leader宕机后Follower会进行选举,选举出新Leader,Observer不参与选举。

  • 添加完成之后通过 SHOW PROC '/frontends'\G;  可查看FE状态,查看Alive是否为true,为True证明添加成功

  • 删除FE的命令 ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";

Doris进阶——初识Doris_FE、BE、BROKER的扩缩容

  •  SHOW PROC '/backends'\G;

    Doris进阶——初识Doris_FE、BE、BROKER的扩缩容    

  •  BE、BROKER 和FE同理,使用 ALTER SYSTEM ADD BACKEND "host:9050";命令添加BE
  • 删除BE:ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port";(不推荐!!!!,会直接删除BE节点,且数据不可恢复)
  • 推荐使用:ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port"; 删除BE时会将该节点的数据向其他BE节点处进行迁移

  • 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;

相关文章

暂无评论

暂无评论...