【StarRocks】starrocks 3.2.12 【share-nothing】 多Be集群容器化部署

文章目录

  • 一. 集群规划
  • 二.docker compose以及启动脚本
    • 卷映射
    • 对于网络
    • 环境变量
  • 三. 集群测试
    • 用户新建、赋权、库表初始化
    • 断电重启
    • 扩容 BE 集群

一. 集群规划

部署文档
https://docs.starrocks.io/zh/docs/2.5/deployment/plan_cluster/
【StarRocks】starrocks 3.2.12 【share-nothing】 多Be集群容器化部署_第1张图片

分类 描述
FE节点 1. 主要负责元数据管理、客户端连接管理、查询计划和查询调度。
2. 三个节点实现高可用以及请求的流量转发, 对于请求的高可用和流量转发使用 nginx 实现。(对于单宿主机来说:这里的fe部署一个)
3. 建议为每个 FE 节点分配 8 个 CPU 内核和 16GB RAM,在大多数场景下,每个 FE 节点只需要 100GB 的 HDD 存储。
BE节点 1. 负责数据存储和 SQL 执行。
2. 对于 StarRocks 生产集群,建议至少部署三个 BE 节点,这些节点会自动形成一个 BE 高可用集群,避免单点故障影响数据可靠性和服务可用性。
3. 建议为每个 BE 节点分配 16 个 CPU 内核和 64GB RAM。
4. StarRocks 集群所有 BE 节点所需的
– 总存储空间 = 原始数据大小 x 数据副本数/数据压缩算法压缩比
– 原始数据大小 = 单行数据大小 x 总数据行数

说明
1.FE 节点:负责元数据管理、客户端连接、查询调度等任务,配置要求较低。
2.BE 节点:负责数据存储和 SQL 查询执行,配置要求较高,尤其是 CPU 和内存。
3.存储空间估算公式:根据数据大小、数据副本数和压缩比来计算 BE 节点的存储需求。

 

二.docker compose以及启动脚本

参考:
https://github.com/StarRocks/demo/blob/master/deploy/docker-compose/docker-compose-3BE.yml

# 定义starrocks be共用配置
x-starrocks-be-common: &starrocks-be-common
  image: starrocks/be-ubuntu:3.2.12
  command:
    - /bin/bash
    - -c
    - |
      chmod +x /data/starrocks/be_entrypoint.sh
      /data/starrocks/be_entrypoint.sh starrocks-fe-0
  environment:
    - HOST_TYPE=FQDN
    - TZ=Asia/Shanghai
    - MYSQL_ROOT_PASSWORD=1111111
  depends_on:
    - starrocks-fe-0
  restart: always
  networks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ip
    starrocks-network:

services:
  # starrocks:1 fe 3be
  starrocks-fe-0:
    image: starrocks/fe-ubuntu:3.2.12
    hostname: starrocks-fe-0
    container_name: starrocks-fe-0
    command:
      - /bin/bash
      - -c
      - |
        /opt/starrocks/fe_entrypoint.sh starrocks-fe-0
    environment:
      - HOST_TYPE=FQDN
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=11111111
    ports:
      - "1030:8030"  # Frontend service port (HTTP)
      - "2020:9020"  # Backend service port (HTTP)
      - "3030:9030" # Frontend service port (MySQL)
    volumes:
      - './starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw'
      - './starrocks/fe-0/log:/opt/starrocks/fe/log:rw'
    restart: always
    networks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ip
      starrocks-network:
  starrocks-be-0:
    <<: *starrocks-be-common
    hostname: starrocks-be-0
    container_name: starrocks-be-0
    volumes:
      - './starrocks/be-0/storage:/opt/starrocks/be/storage:rw'
      - './starrocks/be-0/log:/opt/starrocks/be/log:rw'
      - './sr/bin:/data/starrocks:rwx'
  starrocks-be-1:
    <<: *starrocks-be-common
    hostname: starrocks-be-1
    container_name: starrocks-be-1
    volumes:
      - './starrocks/be-1/storage:/opt/starrocks/be/storage:rw'
      - './starrocks/be-1/log:/opt/starrocks/be/log:rw'
      

你可能感兴趣的:(#,starrocks,#,Docker,starrocks)