1. 概述
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.9.0 | - |
1.2 应用场景
StarRocks是一个针对大规模数据分析和查询的开源分布式列存数据库。
StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。
StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。
1.3 功能简介
对于运维平台管理的FineBI项目,支持前端部署「StarRocks」组件,作为大数据的数据源。
2. 准备服务器
2.1 服务器数量要求
为什么需要多个服务器?
在StarRocks中,FE代表Frontend,BE代表Backend。
FE负责接收和优化查询请求,将优化后的查询计划发送给BE执行,而BE负责并行执行查询计划,并从存储中读取和处理数据,最终返回查询结果给FE,完成整个查询过程。
引擎类型 | 作用 | 数量建议 |
---|---|---|
FE | Frontend(FE)是StarRocks的查询入口,负责接收和处理客户端的查询请求 FE负责解析SQL语句,进行语法分析,优化查询计划,并将查询分发给Backend进行执行 FE还负责查询的元数据管理,包括表格和分区的元数据信息,以及权限管理等 | 至少部署一个FE实例作为查询入口 如果有更高的查询负载需求,可以增加多个FE实例进行负载均衡和高可用性配置 |
BE | Backend(BE)是StarRocks的查询执行引擎,负责实际执行查询计划并返回结果 BE由多个QueryExecutors组成,每个QueryExecutor负责执行特定的查询操作,如扫描、过滤、聚合和排序等 BE还负责数据存储和管理,包括数据的读取、写入、分区管理以及数据的压缩和列式存储等 | BE数量的规定通常涉及到数据规模、查询负载和性能需求等因素 可以根据数据量的大小和查询需求的并发性来决定BE的数量 至少部署三个BE实例以实现数据的分布和高可用性 |
服务器数量要求:
FE引擎数量:1及以上的奇数,即1/3/5/7/9,推荐部署1个
BE引擎数量:3及以上的奇数,即3/5/7/9,推荐部署3个
如服务器资源充足,建议FE、BE引擎分别独占服务器,即所在服务器不再安装其他工程/产品,例如部署3个FE、3个BE,则需要准备6台服务器
如服务器资源不足,FE、BE引擎可共用服务器,例如部署1个FE、3个BE,则需要准备3台服务器
2.2 服务器系统配置
请确保部署StarRocks中FE和BE引擎的各个服务器,满足此基础配置。
注:表格中所列均为单个服务器的要求。
配置 | 服务器要求 |
---|---|
系统版本 | CentOS 7.3~7.9 版本 Ubuntu 18.04.4 及以上版本 redhat 7.6 及以上版本 |
系统内核 | 3.10及以上 最低16核 |
CPU架构 | 仅支持 X86_64 |
AVX2指令集 | 需支持AVX2指令集 可使用命令cat /proc/cpuinfo | grep avx2进行检查,有返回值即为支持 |
剩余空闲物理内存 | 128G以上 |
剩余空闲磁盘容量 | 500GB以上 |
服务器驱动类型 | SSD或NVME |
时间一致性 | 请检查各服务器系统时间是否一致,不一致将无法成功部署 |
2.3 服务器网络要求
请确保部署StarRocks中FE和BE引擎的各个服务器,满足下表端口和网络要求。
1)端口
请确认默认端口是否已被使用,如已被使用,请安排好其他空闲端口。
如需修改端口,请确保准备的各个FE、BE的各类端口都完全一致,否则无法修改。
部署FE的各个服务器的rpc_port端口配置需要保持一致。
端口占用检查方法可参考:端口占用检查与防火墙配置 。
2)网络
请完全参考下表,确保这些服务器的网络联通,否则会导致部署失败/部署后无法使用。
有外网联通要求的端口,请确认端口是否开放了防火墙、安全组等,确保可连接。
防火墙开放操作方法可参考:端口占用检查与防火墙配置 。
类型 | 端口名称 | 端口说明 | 默认端口 | 网络要求 |
---|---|---|---|---|
FE | http_port | FE 上的 http server 端口 | 8030 | 外网,FE<->FE,用户<->FE |
edit_log_port | FE 上的 bdbje 之间通信用的端口 | 9010 | 内网互通,FE<->FE | |
rpc_port | FE 上的 thrift server 端口 | 9020 | 内网互通,BE->FE,FE<->FE | |
query_port | FE 上的 mysql server 端口 | 9030 | 外网,用户<->FE | |
BE | webserver_port | BE 上的 http server 的端口 | 8040 | 内网互通,BE<->BE |
brpc_port | BE 上的 brpc 端口,用于 BE 之间通讯 | 8060 | 内网互通,FE<->BE,BE<->BE | |
heartbeat_service_port | BE 上心跳服务端口(thrift),用于接收来自 FE 的心跳 | 9050 | 内网互通,FE->BE | |
be_port | BE 上 thrift server 的端口,用于接收来自 FE 的请求 | 9060 | 内网互通,FE->BE | |
预留端口 | 预留端口 | 19070 | 内网互通,FE<->BE |
2.4 设置挂载目录
数据库重要文件均外挂。请提前在部署StarRocks的FE和BE引擎的各个服务器的空闲磁盘下,新建好挂载目录。
1)查看服务器磁盘空间
命令:df -h,找出可用空间较大的挂载点
例如本示例中,服务器最合适的挂载目录为/home目录下
2)新建文件夹
使用 mkdir 命令创建文件夹(本示例在/home目录下创建一个名叫fanruan的文件夹):mkdir /home/fanruan
使用 chmod 命令设置文件夹的权限(本示例直接赋777权限):chmod 777 /home/fanruan
3. 确认镜像仓库
部署StarRocks组件,是需要通过镜像进行部署的。要么镜像仓库已有镜像,要么支持从云端拉取镜像。
运维平台默认不提供StarRocks的镜像包。
付费用户请联系帆软技术支持,获取包含StarRocks相关镜像包的finekey工具,并参考文档更新运维平台:内网升级运维平台。
技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。
4. 部署StarRocks组件
4.1 部署入口
操作说明:
由于StarRocks部署较为复杂,因此不支持在部署项目时直接部署该组件。
管理员需要先完成FineOps运维平台与FineBI项目的对接,方可在项目「组件管理」中部署StarRocks组件。
操作步骤:
1)管理员登录FineOps运维平台,点击「运维管理>项目管理」,点击待部署组件的FineBI项目的「组件管理」按钮。
2)点击「添加组件」,即可选择部署「StarRocks」组件。
4.2 添加节点
操作说明:
StarRocks的各个引擎一般部署在全新的组件服务器中,因此管理员需要先为FineBI项目新增接入服务器,作为组件节点。
注:本节仅演示新增一个组件节点的情况,请重复进行本章操作添加第二章准备的所有服务器。
操作步骤:
1)点击「节点选择」下拉按钮,点击「新增组件节点」。
2)输入节点服务器信息,包括:
节点设置 | 说明 |
---|---|
主机 | 请输入服务器IP(内网IP) 注:同一项目中,主机不支持重复添加多次 |
端口 | 请输入节点端口号,默认为22 |
用户名 | 请输入有root权限的服务器用户名 |
验证方法 | 支持两种:密码、公钥 |
挂载路径 | 请输入节点安装目录的服务器路径,即2.4节设置的目录 默认为~/data,~代表所使用的服务器用户的主目录 注:可在终端使用该用户账号访问服务器,输入echo $HOME命令查看该用户的主目录路径 |
4.3 部署StarRocks组件
在「添加组件」界面,设置StarRocks组件信息,点击「开始部署」按钮即可成功部署。
组件信息,包括:
设置 | 说明 |
---|---|
需要部署的组件 | 选择「StarRocks」 |
引擎数量 | FE引擎数量:1及以上的奇数,即1/3/5/7/9,推荐部署1个 BE引擎数量:3及以上的奇数,即3/5/7/9,推荐部署3个 |
节点选择 | 选择2.1节准备的服务器节点 假设FE引擎数量为x,BE引擎数量为y 如服务器资源充足:建议选择「x+y」个节点 如服务器资源不足:至少选择「max{x,y}」个节点 |
主机端口 | 根据2.3节准备的端口进行调整 |
5. 部署后操作
部署完成后,在FineBI项目的「组件管理」中,StarRocks的FE和BE引擎分为两个组件展示。
FE引擎中新增连接url字段,展示StarRocks的连接信息。
用户可在FineBI中添加StarRocks数据源,用于后续使用。详情请参见:StarRocks 数据连接