目录
1.简介
StarRocks 是一款高性能分析型数据仓库,既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。
2.系统架构
StarRocks核心只有 FE(Frontend)、BE(Backend)。FE 和 BE 模块都可以在线水平扩展,元数据和业务数据都有副本机制,确保整个系统无单点。StarRocks 使用列式存储,采用分区分桶机制进行数据管理。目前都是通过mysql客户端查询StarRocks中的数据。系统架构图如下
FE 是 StarRocks 的前端节点,负责管理元数据,管理客户端连接,进行查询规划,查询调度等工作。
BE 是 StarRocks 的后端节点,负责数据存储、SQL执行等工作。
3.安装
1.下载并解压
wget https://download.starrocks.com/zh-CN/download/request-download/55/StarRocks-2.3.3.tar.gz
2.配置FE节点
进入 StarRocks-x.x.x/fe 路径,修改FE配置文件conf/fe.conf
添加元数据目录配置项。
meta_dir = ${STARROCKS_HOME}/meta
添加 Java 目录配置项。
JAVA_HOME = ${JAVA_HOME}
在StarRocks-x.x.x/fe目录下面,创建元数据路径
mkdir -p meta
3.启动 FE 节点
./bin/start_fe.sh --daemon
./bin/stop_fe.sh --daemon
通过查看日志log/fe.log和JPS命令查询java进程确认是否启动成功。
启动成功则可以在浏览器访问WEB UI ip:http_port(默认 http_port 为 8030),用户名为 root,密码为空。
4.添加FE节点
可通过 MySQL 客户端连接 StarRocks 以添加 FE 节点。
在 FE 进程启动后,使用 MySQL 客户端连接 FE 实例。
mysql -h 127.0.0.1 -P9030 -uroot
说明 root 为 StarRocks 默认内置 user,密码为空,端口为 fe/conf/fe.conf 中的 query_port 配置项,默认值为 9030。
查看 FE 状态。
SHOW PROC '/frontends'\G
5.配置BE节点
进入StarRocks-x.x.x/be目录,创建 BE 节点中的数据路径 storage。
mkdir -p storage
6.添加BE节点
通过 MySQL 客户端将 BE 节点添加至 StarRocks 集群。
//添加节点
ALTER SYSTEM ADD BACKEND "host:port";//host 需要与 priority_networks 相匹配,port 需要与 be.conf 文件中的设置的 heartbeat_service_port 相同,默认为 9050。
//删除节点
ALTER SYSTEM decommission BACKEND "host:port";
7.启动BE节点
./bin/start_be.sh --daemon
./bin/stop_be.sh --daemon
确认BE启动是否成功,在通过mysql客户端执行命令
SHOW PROC '/backends'\G
4.使用
1.常用命令
#进入某个catalog
set catalog xx_ca