StarRocks数据库集群的完整部署流程

发布于:2025-08-17 ⋅ 阅读:(16) ⋅ 点赞:(0)

目录

依赖环境

下载安装包

部署FE

部署BE

搭建集群

停止集群


依赖环境

   详见:StarRocks 部署:依赖环境-CSDN博客

下载安装包

   在官方网站下载安装包:StarRocks

部署FE
  1. 创建元数据目录。

    mkdir -p <meta_dir>
  2. 修改 FE 配置文件 fe/conf/fe.conf

    a. 指定元数据路径。

    meta_dir = <meta_dir>

    b. 修改端口。

    http_port = 8030        # 默认值:8030
    rpc_port = 9020         # 默认值:9020
    query_port = 9030       # 默认值:9030
    edit_log_port = 9010    # 默认值:9010
    

    c. 启用 IP 地址访问

     priority_networks = x.x.x.x/x

    d. 配置节点数

    # 默认值是3
    default_replication_num = 1

    e.开启udf

    enable_udf=true
  3. 启动 FE 节点。

    ./fe/bin/start_fe.sh --daemon
部署BE
  1. 创建数据存储目录。

    mkdir -p <storage_root_path>
  2. 修改配置文件 be/conf/be.conf

    a. 修改配置项

    storage_root_path = <storage_root_path>
    mem_limit = 32G

    b. 修改端口,如果不需要可跳过此步骤。

    be_port = 9060                   # 默认值:9060
    be_http_port = 8040              # 默认值:8040
    heartbeat_service_port = 9050    # 默认值:9050
    brpc_port = 8060                 # 默认值:8060

    c. 启用 IP 地址访问

    priority_networks = x.x.x.x/x

    d. 配置JAVA_HOME

    JAVA_HOME=xxxxxxx
  3. 启动 BE 节点。

    ./be/bin/start_be.sh --daemon
搭建集群

当所有 FE 和 BE/CN 节点启动成功后,即可搭建 StarRocks 集群。

  1. 通过 MySQL 客户端连接到 StarRocks。需要使用初始用户 root 登录,密码默认为空。

    # 将 <fe_address> 替换为 Leader FE 节点的 IP 地址(priority_networks)
    # 将 <query_port>(默认:9030)替换为在 fe.conf 中指定的 query_port。
    mysql -h <fe_address> -P<query_port> -uroot
  2. 查看 Leader FE 节点状态。

    SHOW PROC '/frontends'\G

    示例:

    MySQL [(none)]> SHOW PROC '/frontends'\G
    *************************** 1. row ***************************
                 Name: x.x.x.x_9010_1686810741121
                   IP: x.x.x.x
          EditLogPort: 9010
             HttpPort: 8030
            QueryPort: 9030
              RpcPort: 9020
                 Role: LEADER
            ClusterId: 919351034
                 Join: true
                Alive: true
    ReplayedJournalId: 1220
        LastHeartbeat: 2023-06-15 15:39:04
             IsHelper: true
               ErrMsg: 
            StartTime: 2023-06-15 14:32:28
              Version: 3.0.0-48f4d81
    1 row in set (0.01 sec)
    • 如果字段 Alivetrue,说明该 FE 节点正常启动并加入集群。

    • 如果字段 RoleFOLLOWER,说明该 FE 节点有资格被选为 Leader FE 节点。

    • 如果字段 RoleLEADER,说明该 FE 节点为 Leader FE 节点。

  3. 添加 BE 节点至集群。

    -- 将 <be_address> 替换为 BE 节点的 IP 地址(priority_networks)
    -- 并将 <heartbeat_service_port>(默认:9050)替换为在 be.conf 中指定的 heartbeat_service_port。
    ALTER SYSTEM ADD BACKEND "<be_address>:<heartbeat_service_port>", "<be2_address>:<heartbeat_service_port>", "<be3_address>:<heartbeat_service_port>";

    说明

    可以通过一条 SQL 添加多个 BE 节点。每对 <be_address>:<heartbeat_service_port> 代表一个 BE 节点。

  4. 查看 BE 节点状态。

    SHOW PROC '/backends'\G

    示例:

    MySQL [(none)]> SHOW PROC '/backends'\G
    *************************** 1. row ***************************
                BackendId: 10007
                       IP: 172.26.195.67
            HeartbeatPort: 9050
                   BePort: 9060
                 HttpPort: 8040
                 BrpcPort: 8060
            LastStartTime: 2023-06-15 15:23:08
            LastHeartbeat: 2023-06-15 15:57:30
                    Alive: true
     SystemDecommissioned: false
    ClusterDecommissioned: false
                TabletNum: 30
         DataUsedCapacity: 0.000 
            AvailCapacity: 341.965 GB
            TotalCapacity: 1.968 TB
                  UsedPct: 83.04 %
           MaxDiskUsedPct: 83.04 %
                   ErrMsg: 
                  Version: 3.0.0-48f4d81
                   Status: {"lastSuccessReportTabletsTime":"2023-06-15 15:57:08"}
        DataTotalCapacity: 341.965 GB
              DataUsedPct: 0.00 %
                 CpuCores: 16
        NumRunningQueries: 0
               MemUsedPct: 0.01 %
               CpuUsedPct: 0.0 %

    如果字段 Alivetrue,说明该 BE 节点正常启动并加入集群。

停止集群
  • 停止 FE 节点。

    ./fe/bin/stop_fe.sh --daemon
  • 停止 BE 节点。

    ./be/bin/stop_be.sh --daemon