IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    StarRocks-2.1.5 集群安装部署

    Yanjun发表于 2022-09-08 10:51:06
    love 0

    StarRocks 是新一代的 MPP 数据库,它具有很高的查询性能,能够支持各种场景的数据查询分析使用,主要包含如下几个场景:

    • OLAP多维分析
    • 实时数据分析
    • 高并发查询
    • 统一分析

    关于 StarRocks 更详细的介绍,可以查看官方文档,非常详细(见后面参考链接)。

    下面,我们基于开源的 StarRocks 社区版,版本是 2.1.5 来进行集群的安装配置。StarRocks 集群的部署模式,采用 FE 与 BE 分离的模式。

    集群部署规划

    1 基础环境和软件

    软件 版本
    操作系统 CentOS-7.8
    StarRocks 2.1.5
    JDK jdk1.8.0_212
    MySQL Client 5.7.37

    2 集群主机规划

    IP 地址 主机名称 角色 备注信息
    172.168.0.1 VM-0-1-centos FE FE Master
    172.168.0.2 VM-0-2-centos FE FE OBSERVER
    172.168.0.3 VM-0-3-centos FE FE FOLLOWER
    172.168.0.4 VM-0-4-centos BE BE
    172.168.0.5 VM-0-5-centos BE BE
    172.168.0.6 VM-0-6-centos BE BE
    172.168.0.7 VM-0-7-centos BE BE
    172.168.0.8 VM-0-8-centos BE BE
    172.168.0.9 VM-0-9-centos BE BE

    3 集群主机目录规划

    IP 地址 主机名称 角色
    JDK 目录 /usr/local/share/jdk1.8.0_202 /usr/local/share/java
    StarRocks 程序目录 /usr/local/share/StarRocks-2.1.5 /usr/local/share/starrocks
    StarRocks 数据根目录 data/starrocks/storage 无
    StarRocks FE 元数据目录 /data/starrocks/storage/fe/meta 无
    StarRocks BE 数据存储目录 /data/starrocks/storage/be 无

    集群部署准备

    1 添加 IP 到主机名映射信息

    在 172.168.0.1~172.168.0.9 这 9 个节点上,修改 /etc/hosts,添加如下内容:

    172.168.0.1 VM-0-1-centos
    172.168.0.2 VM-0-2-centos
    172.168.0.3 VM-0-3-centos
    172.168.0.4 VM-0-4-centos
    172.168.0.5 VM-0-5-centos
    172.168.0.6 VM-0-6-centos
    172.168.0.7 VM-0-7-centos
    172.168.0.8 VM-0-8-centos
    172.168.0.9 VM-0-9-centos
    

    2 优化 StarRocks 集群主机内存配置

    在 172.168.0.1~172.168.0.9 这 9 个节点上,执行如下命令:

    echo 0 | sudo tee /proc/sys/vm/swappiness
    echo 1 | sudo tee /proc/sys/vm/overcommit_memory
    echo 'madvise' | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
    

    3 基础软件:JDK 安装配置

    下载 JDK 1.8.0_202,解压缩。将解压缩后的目录,分别拷贝到 172.168.0.1~172.168.0.9 这 9 个节点上的目录 /usr/local/share/ 下面,并创建软链接:

    ln -s /usr/local/share/jdk1.8.0_202 /usr/local/share/java
    

    配置 JDK 环境变量,修改 ~/.bashrc 文件,添加如下环境变量内容行:

    export JAVA_HOME=/usr/local/share/java
    export CLASSPATH=.:$JAVA_HOME/lib/*.jar:$JAVA_HOME/jre/lib/*.jar
    export PATH=$PATH:$JAVA_HOME/bin
    

    使环境变量生效:

    source ~/.bashrc
    

    验证 JDK 安装成功,执行下面命令:

    java -version
    

    4 安装 MySQL Client

    从 https://downloads.mysql.com/archives/community/ 这里下载如下 3 个 rpm 包:

    mysql-community-common-5.7.37-1.el7.x86_64.rpm
    mysql-community-libs-5.7.37-1.el7.x86_64.rpm
    mysql-community-client-5.7.37-1.el7.x86_64.rpm
    

    分别拷贝到 172.168.0.1~172.168.0.9 这 9 个节点上,并按顺序执行如下命令行,安装 MySQL Client:

    rpm -e mariadb-libs --nodeps
    rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
    

    如果执行上述命令没有报错,说明安装成功。

    5 下载并准备 StarRocks 安装包

    从 https://www.starrocks.com/en-US/download/community 这里下载社区版本 2.1.5 二进制安装包,并在其中一个节点 172.168.0.1 上安装配置 StarRocks。 解压缩 StarRocks 安装包,并拷贝到 /usr/local/share/ 目录下:

    tar xvzf StarRocks-2.1.5.tar.gz
    mv StarRocks-2.1.5 /usr/local/share/
    ln -s /usr/local/share/StarRocks-2.1.5 /usr/local/share/starrocks
    

    配置 StarRocks 环境变量,在 ~/.bashrc 中添加如下内容行:

    export STARROCKS_HOME=/usr/local/share/starrocks
    

    使环境变量生效:

    source ~/.bashrc
    

    修改 StarRocks FE 配置文件 /usr/local/share/starrocks/fe/conf/fe.conf,修改下面的几个配置项:

    meta_dir = /data/starrocks/storage/fe/meta
    priority_networks = 172.168.0.1/16
    

    修改 StarRocks BE 配置文件 /usr/local/share/starrocks/be/conf/be.conf,修改下面的几个配置项:

    storage_root_path = /data/starrocks/storage/be
    

    创建 StarRocks 程序目录和相关的数据目录:

    mkdir -p /data/starrocks/storage
    mkdir -p /data/starrocks/storage/fe/meta
    mkdir -p /data/starrocks/storage/be
    

    将配置好的 StarRocks 安装文件 /usr/local/share/StarRocks-2.1.5,远程拷贝到 172.168.0.2 ~ 172.168.0.9 这 8 个节点上,并按照上述配置过程, 配置对应的环境变量、创建目录。

    启动 StarRocks 集群

    1 启动 FE

    在 FE 节点 172.168.0.1 上启动 FE:

    bin/start_fe.sh --daemon
    

    通过 MySQL Client 登录(默认没有密码):

    mysql -h VM-0-1-centos -P9030 -uroot
    

    然后,将所有的 FE 节点添加到集群中:

    ALTER SYSTEM ADD FOLLOWER "VM-0-2-centos:9010 ";
    ALTER SYSTEM ADD OBSERVER "VM-0-3-centos:9010 ";
    

    打开页面 http://172.168.0.1:8030/,如果能看到对应的 Web 控制台信息,则启动 FE 成功。 也可以查看对应的日志文件 /usr/local/share/starrocks/fe/log/ ,检查状态是否正常。 分别登录到 VM-0-2-centos、VM-0-3-centos 节点上,启动 FE 并加入到集群中:

    bin/start_fe.sh --helper VM-0-1-centos:9010 --daemon
    

    可以通过打开页面 http://172.168.0.2:8030/、http://172.168.0.3:8030/ 分别查看状态,也可以查看日志来验证。

    在 FE 节点 172.168.0.1 上.再将所有的 BE 节点都加入到集群中:

    ALTER SYSTEM ADD BACKEND "VM-0-4-centos:9050";
    ALTER SYSTEM ADD BACKEND "VM-0-5-centos:9050";
    ALTER SYSTEM ADD BACKEND "VM-0-6-centos:9050";
    ALTER SYSTEM ADD BACKEND "VM-0-7-centos:9050";
    ALTER SYSTEM ADD BACKEND "VM-0-8-centos:9050";
    ALTER SYSTEM ADD BACKEND "VM-0-9-centos:9050";
    

    2 启动 BE

    分别登录到主机 172.168.0.4 ~ 172.168.0.9 上,启动 BE 服务,并添加到集群中。下面以 172.168.0.4 为例来说明。

    bin/start_be.sh --daemon
    

    通过 MySQL Client 连接到 StarRocks 集群:

    mysql -h VM-0-1-centos -P9030 -uroot
    

    查看验证 BE 状态:

    SHOW PROC '/backends'\G
    

    查看的信息,示例如下所示(每次查询内容可能会有不同):

    mysql> SHOW PROC '/backends'\G
     
    *************************** 1. row ***************************
     
    BackendId: 10003
    Cluster: default_cluster
    IP: 172.168.0.6
    HostName: VM_0_6_centos
    HeartbeatPort: 9050
    BePort: 9060
    HttpPort: 8040
    BrpcPort: 8060
    LastStartTime: 2022-08-31 20:19:30
    LastHeartbeat: 2022-08-31 20:32:28
    Alive: true
    SystemDecommissioned: false
    ClusterDecommissioned: false
    TabletNum: 12
    DataUsedCapacity: 2.017 TB
    AvailCapacity: 866.141 GB
    TotalCapacity: 2.121 TB
    UsedPct: 78.47 %
    MaxDiskUsedPct: 78.47 %
    ErrMsg:
    Version: 2.1.5-2a5c43f
    Status: {"lastSuccessReportTabletsTime":"2022-08-31 20:32:27"}
    DataTotalCapacity: 2.062 TB
    DataUsedPct: 78.18 %
     
    *************************** 2. row ***************************
     
    BackendId: 10030
    Cluster: default_cluster
    IP: 172.168.0.8
    HostName: VM_0_8_centos
    HeartbeatPort: 9050
    BePort: 9060
    HttpPort: 8040
    BrpcPort: 8060
    LastStartTime: 2022-08-31 20:20:35
    LastHeartbeat: 2022-08-31 20:32:28
    Alive: true
    SystemDecommissioned: false
    ClusterDecommissioned: false
    TabletNum: 74835
    DataUsedCapacity: 3.186 TB
    AvailCapacity: 832.304 GB
    TotalCapacity: 4.121 TB
    UsedPct: 83.18 %
    MaxDiskUsedPct: 83.18 %
    ErrMsg:
    Version: 2.1.5-2a5c43f
    Status: {"lastSuccessReportTabletsTime":"2022-08-31 20:31:35"}
    DataTotalCapacity: 3.999 TB
    DataUsedPct: 78.67 %
     
    *************************** 3. row ***************************
     
    BackendId: 1987731
    Cluster: default_cluster
    IP: 172.168.0.9
    HostName: VM_0_9_centos
    HeartbeatPort: 9050
    BePort: 9060
    HttpPort: 8040
    BrpcPort: 8060
    LastStartTime: 2022-08-31 20:16:01
    LastHeartbeat: 2022-08-31 20:32:28
    Alive: true
    SystemDecommissioned: false
    ClusterDecommissioned: false
    TabletNum: 206
    DataUsedCapacity: 19.622 GB
    AvailCapacity: 898.482 GB
    TotalCapacity: 919.551 GB
    UsedPct: 2.29 %
    MaxDiskUsedPct: 2.29 %
    ErrMsg:
    Version: 2.1.5-2a5c43f
    Status: {"lastSuccessReportTabletsTime":"2022-08-31 20:32:02"}
    DataTotalCapacity: 918.104 GB
    DataUsedPct: 2.14 %
     
    *************************** 4. row ***************************
     
    BackendId: 1987736
    Cluster: default_cluster
    IP: 172.168.0.7
    HostName: VM_0_7_centos
    HeartbeatPort: 9050
    BePort: 9060
    HttpPort: 8040
    BrpcPort: 8060
    LastStartTime: 2022-08-31 20:24:22
    LastHeartbeat: 2022-08-31 20:32:28
    Alive: true
    SystemDecommissioned: false
    ClusterDecommissioned: false
    TabletNum: 268
    DataUsedCapacity: 293.098 MB
    AvailCapacity: 915.272 GB
    TotalCapacity: 919.551 GB
    UsedPct: 0.47 %
    MaxDiskUsedPct: 0.47 %
    ErrMsg:
    Version: 2.1.5-2a5c43f
    Status: {"lastSuccessReportTabletsTime":"2022-08-31 20:32:23"}
    DataTotalCapacity: 915.558 GB
    DataUsedPct: 0.03 %
     
    *************************** 5. row ***************************
     
    BackendId: 10031
    Cluster: default_cluster
    IP: 172.168.0.5
    HostName: VM_0_5_centos
    HeartbeatPort: 9050
    BePort: 9060
    HttpPort: 8040
    BrpcPort: 8060
    LastStartTime: 2022-08-31 20:18:40
    LastHeartbeat: 2022-08-31 20:32:28
    Alive: true
    SystemDecommissioned: false
    ClusterDecommissioned: false
    TabletNum: 75690
    DataUsedCapacity: 2.972 TB
    AvailCapacity: 1.091 TB
    TotalCapacity: 4.121 TB
    UsedPct: 73.52 %
    MaxDiskUsedPct: 73.52 %
    ErrMsg:
    Version: 2.1.5-2a5c43f
    Status: {"lastSuccessReportTabletsTime":"2022-08-31 20:31:47"}
    DataTotalCapacity: 4.063 TB
    DataUsedPct: 73.15 %
     
    *************************** 6. row ***************************
     
    BackendId: 1987321
    Cluster: default_cluster
    IP: 172.168.0.4
    HostName: VM_0_4_centos
    HeartbeatPort: 9050
    BePort: 9060
    HttpPort: 8040
    BrpcPort: 8060
    LastStartTime: 2022-08-31 20:01:44
    LastHeartbeat: 2022-08-31 20:32:28
    Alive: true
    SystemDecommissioned: false
    ClusterDecommissioned: false
    TabletNum: 289
    DataUsedCapacity: 43.929 GB
    AvailCapacity: 874.155 GB
    TotalCapacity: 919.551 GB
    UsedPct: 4.94 %
    MaxDiskUsedPct: 4.94 %
    ErrMsg:
    Version: 2.1.5-2a5c43f
    Status: {"lastSuccessReportTabletsTime":"2022-08-31 20:31:45"}
    DataTotalCapacity: 918.084 GB
    DataUsedPct: 4.78 %
    6 rows in set (0.00 sec)
    

    可以打开页面 http://172.168.0.1:8030/ 查看验证,也可以查看 BE 的日志来验证服务启动成功。

    3 验证集群

    可以打开页面 http://172.168.0.1:8030/,查看整个 StarRocks 集群的节点和状态,如果个别节点有问题,只需要登录到对应的 FE 或 BE 上查看日志信息,定位并解决问题即可。

    参考链接

    • https://docs.starrocks.com/zh-cn/2.1/introduction/StarRocks_intro
    • https://docs.starrocks.com/zh-cn/2.1/quick_start/Deploy
    • https://docs.starrocks.com/zh-cn/2.1/administration/Configuration#%E7%B3%BB%E7%BB%9F%E5%8F%82%E6%
    • https://www.starrocks.com/zh-CN/download/community


沪ICP备19023445号-2号
友情链接