首页 > 其他分享 >starrocks

starrocks

时间:2023-08-22 16:00:49浏览次数:83  
标签:StarRocks 节点 starrocks fe xbd Leader

  一、StarRocks 是开源的新一代极速全场景MPP数据库。它采用新一代的弹性MPP架构,可以高效支持大数据量级的多维分析、实时分析、高并发分析等多种数据分析场景。StarRocks 性能出色,它采用了全面向量化技术,比同类产品平均快3-5倍。

  二、定位。原有的以 Hadoop 为核心的大数据生态,在性能、实效性、运维难度及灵活性等方面都难以满足企业的需求。OLAP 数据库面临着越来越多的挑战,很难有一种数据库能够适配大部分的业务。作为一款 MPP 架构的分析性数据库,StarRocks 能够支撑 PB 级别的数据量,拥有灵活的建模方式,可以通过向量化引擎、物化视图、位图索引、稀疏索引等优化手段构建极速统一的分析层数据存储系统。定位如图:

  

  三、架构

  

   1)FE-leader:

    • Leader 从 Follower 中自动选出,进行选主需要集群中有半数以上的 Follower 节点存活。如果 Leader 节点失败,Follower 会发起新一轮选举。
    • Leader FE 提供元数据读写服务。只有 Leader 节点会对元数据进行写操作,Follower 和 Observer 只有读取权限。Follower 和 Observer 将元数据写入请求路由到 Leader 节点,Leader 更新完数据后,会通过 BDB JE 同步给 Follower 和 Observer。必须有半数以上的 Follower 节点同步成功才算作元数据写入成功。

   2)FE-follower:

    • 只有元数据读取权限,无写入权限。通过回放 Leader 的元数据日志来异步同步数据。
    • 参与 Leader 选举,必须有半数以上的 Follower 节点存活才能进行选主。

  4)FE-Observer

    • 主要用于扩展集群的查询并发能力,可选部署。
    • 不参与选主,不会增加集群的选主压力。
    • 通过回放 Leader 的元数据日志来异步同步数据。

  3)BE

    • 数据存储方面,StarRocks 的 BE 节点都是完全对等的,FE 按照一定策略将数据分配到对应的 BE 节点。BE 负责将导入数据写成对应的格式存储下来,并生成相关索引。

    • 在执行 SQL 计算时,一条 SQL 语句首先会按照具体的语义规划成逻辑执行单元,然后再按照数据的分布情况拆分成具体的物理执行单元。物理执行单元会在对应的数据存储节点上执行,这样可以实现本地计算,避免数据的传输与拷贝,从而能够得到极致的查询性能。

  四、安装

  1)下载地址:https://releases.starrocks.io/starrocks/StarRocks-2.5.10.tar.gz

  2)docker安装集群

  

  FE:

FROM java:8
ADD ./StarRocks-2.5.10.tar.gz .
RUN mv StarRocks-2.5.10 starrocks
RUN mkdir -p /starrocks/fe/meta
CMD /starrocks/fe/bin/start_fe.sh

  BE:

FROM java:8
ADD ./StarRocks-2.5.10.tar.gz .
RUN mv StarRocks-2.5.10 starrocks
RUN mkdir -p /starrocks/be/storage
CMD "/starrocks/be/bin/start_be.sh"

  docker-compose.yml:

version: '3'
services:
  xbd-starrocks-fe-1:
    build:
      context: ./
      dockerfile: Dockerfile-StarRocks-FE
    image: xbd-starrocks-fe
    container_name: xbd-starrocks-fe-1
    restart: always
    privileged: true
    ports:
      - 8030:8030
      - 9030:9030
    networks:
      - starrocks

  xbd-starrocks-fe-2:
    build:
      context: ./
      dockerfile: Dockerfile-StarRocks-FE
    image: xbd-starrocks-fe
    container_name: xbd-starrocks-fe-2
    restart: always
    privileged: true
    ports:
      - 8031:8030
      - 9031:9030
    command: "/starrocks/fe/bin/start_fe.sh --helper xbd-starrocks-fe-1:9010"
    depends_on:
      - xbd-starrocks-fe-1
    networks:
      - starrocks

  xbd-starrocks-be-1:
    build:
      context: ./
      dockerfile: Dockerfile-StarRocks-BE
    image: xbd-starrocks-be
    container_name: xbd-starrocks-be-1
    restart: always
    privileged: true
    volumes:
      - /var/lib/starrocks-1:/starrocks/be/storage
    networks:
      - starrocks

  xbd-starrocks-be-2:
    build:
      context: ./
      dockerfile: Dockerfile-StarRocks-BE
    image: xbd-starrocks-be
    container_name: xbd-starrocks-be-2
    restart: always
    privileged: true
    volumes:
      - /var/lib/starrocks-2:/starrocks/be/storage
    networks:
      - starrocks

networks:
  starrocks:
    external: true

  在docker-compose的环境下执行

docker-compose up -d

  然后等待启动,通过mysql客户端执行以下操作:密码为空

mysql -h xbd-starrocks-fe-1 -P 9030 -u root -p

  连接后执行:

alter system add follower "xbd-starrocks-fe-2:9010";
alter system add backend "xbd-starrocks-be-1:9050";
alter system add backend "xbd-starrocks-be-2:9050";

  添加集群就可以了。

  其他命令:

alter system add follower/observer/backend "host:editLogPort/editLogPort/port"; #添加节点
alter system drop follower/observer "host:editlogport/editlogport/port"; # 删除fe节点
alter system decommission backend "host:port"; # 删除be节点

  SHOW PROC '/frontends'; # fe信息
  SHOW PROC '/backends'; # be信息

  页面查看

  

 

   

 

标签:StarRocks,节点,starrocks,fe,xbd,Leader
From: https://www.cnblogs.com/ll409546297/p/17648734.html

相关文章

  • 快速上手StarRocks
    StarRocks简介StarRocks(前身为Doris)是新一代极速全场景MPP数据库StarRocks高效支持实时数据分析用户可使用StarRocks构建大宽表、星型模型、雪花模型等多种模型快速上手,兼容MySQLProtocol,对现有研发人员非常友好注:MPP数据库:MassivelyParallelProcessing大规模并行处理......
  • StarRocks Segment源码阅读笔记--Page的组成
    Page由4部分组成PageBody,PageFooter,FooterSize(4),CheckSum(4)PageBody是由page类型决定的,可能是压缩的。PageFooter是经过序列化的PageFooterPB。它包含page_type、未压缩的body大小和其他通用的元数据。如果PageBody的大小和未压缩的body大小一致,则表示这个page是未压缩的。F......
  • 正则表达式解析StarRocks雾化视图中的血缘关系
    解析SQL中的底表主要目标是获取出StarRocks雾化中的底表和字段备注,之后给字段赋予备注值,存入库表,可以动态生成数据字典,web可以利用该表实现mybatis的动态sql拼接,动态化的excel导出导入,魔板等功能。尝试使用了Jsqlparser解析sql语句,发现遇到部分复杂的子查询内包含unionall情况......
  • StarRocks Segment源码阅读笔记--SegmentIterator创建
    StarRocks中要读取Segment中的数据,需要先创建SegmentIteratorStatusOr<ChunkIteratorPtr>Segment::_new_iterator(constSchema&schema,constSegmentReadOptions&read_options){DCHECK(read_options.stats!=nullptr);//tryingtoprunethecurrentse......
  • doris/starrocks配置参数修改
    FE参数分为动态参数和静态参数。动态参数可通过SQL命令进行在线配置和调整,方便快捷。静态参数必须在FE配置文件 fe.conf 中进行配置和调整。调整完成后,需要重启FE使变更生效。参数是否为动态参数可通过 ADMINSHOWCONFIG 返回结果中的 IsMutable 列查看。TRUE 表......
  • 通过 docker-compose 快速部署 StarRocks 保姆级教程
    目录一、概述二、前期准备1)部署docker2)部署docker-compose三、创建网络四、StarRocks编排部署1)下载StarRocks部署包2)配置3)启动脚本bootstrap.sh4)构建镜像Dockerfile5)编排docker-compose.yaml6)开始部署五、简单测试验证六、常用的StarRocks客户端命令1)服务启停2、查看节......
  • doris/starrocks on ES
    在doris/starrocks中创建外部表USEsimon;CREATEEXTERNALTABLE`soe_t1`(`k1`bigint(20)NULLCOMMENT"",`k2`datetimeNULLCOMMENT"",`k3`varchar(20)NULLCOMMENT"",`k4`varchar(100)NULLCOMMENT"",`k5`floatNULL......
  • 一文教会你用Apache SeaTunnel Zeta离线把数据从MySQL同步到StarRocks
    在上一篇文章中,我们介绍了如何下载安装部署SeaTunnelZeta服务(3分钟部署SeaTunnelZeta单节点Standalone模式环境),接下来我们介绍一下SeaTunnel支持的第一个同步场景:离线批量同步。顾名思意,离线批量同步需要用户定义好SeaTunnelJobConfig,选择批处理模式,作业启动后开始同步数据,当......
  • Flink Cdc MySQL 整库同步到 StarRocks
    这段时间开始调研使用StarRocks做准实时数据仓库:flinkcdc实时同步数据到StarRocks,然后在StarRocks中做分层计算,直接把StarRocks中的ADS层提供给BI查询。架构如下:由于用到的表比较多,不能用FlinkSQL给每个表都做个CDC的任务(任务太多不好维护、对数据库又可能有......
  • StarRocks 3.0 集群安装手册
    本文介绍如何以二进制安装包方式手动部署最新版 StarRocks 3.0集群。什么是 StarRocksStarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 St......