StarRocks下载使用说明和基础操作

简介

StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。同时 StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。

下载

文中使用版本为3.2.4,可通过官网自行下载

准备部署文件 | StarRocks

文章中使用的是存算一体架构,starrocks也支持存算分离架构

解压

tar -zxvf StarRocks-3.2.4.tar.gz

目录结构

启动 Leader FE 节点

创建元数据存储路径

mkdir -p /opt/starrocks/data/fe

修改 FE 配置文件

vim fe/conf/fe.conf

启动 FE 节点

./fe/bin/start_fe.sh --daemon

查看 FE 日志

cat fe/log/fe.log | grep thrift

如果日志打印以下内容,则说明该 FE 节点启动成功:

启动 BE 服务

创建数据存储路径

mkdir -p /opt/starrocks/data/be

修改 BE 配置文件 be/conf/be.conf

vim be/conf/be.conf

启动 BE 节点

./be/bin/start_be.sh --daemon

查看 BE 日志

cat be/log/be.INFO | grep heartbeat

如果日志打印以下内容,则说明该 BE 节点启动成功:

停止命令

停止 FE 节点。

./fe/bin/stop_fe.sh --daemon

停止 BE 节点。

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

添加BE节点至集群

通过工具连接,需要在服务器预装mysql客户端

mysql -h 192.168.x.xx -P 9030 -uroot

查看 Leader FE 节点状态

SHOW PROC '/frontends'\G

如果字段 Alive 为 true,说明该 FE 节点正常启动并加入集群。

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

如果字段 Role 为 LEADER,说明该 FE 节点为 Leader FE 节点。

添加 BE 节点至集群。

ALTER SYSTEM ADD BACKEND "192.168.x.xx:9050";

查看 BE 节点状态

SHOW PROC '/backends'\G

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

这样就可以通过工具连接,跟连接mysql类似,这里使用的是navicat

测试语句

CREATE DATABASE example_db;

USE example_db;

-- 新建用户并授权

create user 'testuser'@'%' IDENTIFIED by '123456';

GRANT all ON databasename.* TO 'testuser'@'%';

-- 仅包含一个 BE,所以需要加PROPERTIES( "replication_num" = "1" )

CREATE TABLE user_access (

uid int,

name varchar(64),

age int,

phone varchar(16),

last_access datetime,

credits double

)

PROPERTIES( "replication_num" = "1" );

CREATE TABLE orders1 (

order_id bigint NOT NULL,

dt date NOT NULL,

user_id INT NOT NULL,

good_id INT NOT NULL,

cnt int NOT NULL,

revenue int NOT NULL

)

PRIMARY KEY (order_id)

DISTRIBUTED BY HASH (order_id)

PROPERTIES( "replication_num" = "1" )

;

CREATE TABLE orders2 (

order_id bigint NOT NULL,

dt date NOT NULL,

merchant_id int NOT NULL,

user_id int NOT NULL,

good_id int NOT NULL,

good_name string NOT NULL,

price int NOT NULL,

cnt int NOT NULL,

revenue int NOT NULL,

state tinyint NOT NULL

)

PRIMARY KEY (order_id,dt,merchant_id)

PARTITION BY date_trunc('day', dt)

DISTRIBUTED BY HASH (merchant_id)

ORDER BY (dt,merchant_id)

PROPERTIES (

"enable_persistent_index" = "true",

"replication_num" = "1"

);

CREATE TABLE detail (

event_time DATETIME NOT NULL COMMENT "datetime of event",

event_type INT NOT NULL COMMENT "type of event",

user_id INT COMMENT "id of user",

device_code INT COMMENT "device code",

channel INT COMMENT "")

ORDER BY (event_time, event_type)

PROPERTIES( "replication_num" = "1" );

CREATE TABLE aggregate_tbl (

site_id LARGEINT NOT NULL COMMENT "id of site",

date DATE NOT NULL COMMENT "time of event",

city_code VARCHAR(20) COMMENT "city_code of user",

pv BIGINT SUM DEFAULT "0" COMMENT "total page views"

)

AGGREGATE KEY(site_id, date, city_code)

DISTRIBUTED BY HASH(site_id)

PROPERTIES( "replication_num" = "1" );

CREATE TABLE orders4 (

create_time DATE NOT NULL COMMENT "create time of an order",

order_id BIGINT NOT NULL COMMENT "id of an order",

order_state INT COMMENT "state of an order",

total_price BIGINT COMMENT "price of an order"

)

UNIQUE KEY(create_time, order_id)

DISTRIBUTED BY HASH(order_id);

PROPERTIES( "replication_num" = "1" );

DESCRIBE user_access;

SHOW CREATE TABLE user_access;

-- 从本地文件导入数据

CREATE TABLE `table1`

(

`id` int(11) NOT NULL COMMENT "用户 ID",

`name` varchar(65533) NULL COMMENT "用户姓名",

`score` int(11) NOT NULL COMMENT "用户得分"

)

ENGINE=OLAP

PRIMARY KEY(`id`)

DISTRIBUTED BY HASH(`id`)

PROPERTIES( "replication_num" = "1" );

-- 查看 FE 节点的 IP 地址和 HTTP 端口号。

SHOW FRONTENDS;

-- 导入作业

curl --location-trusted -u root: -H "label:123" -H "Expect:100-continue" -H "column_separator:," -H "columns: id, name, score" -T D:\\data\\test.csv -XPUT http://192.168.5.66:8030/api/example_db/table1/_stream_load

select * from table1;

相关推荐
StarRocks_labs4 天前
RAG 实战|用 StarRocks + DeepSeek 构建智能问答与企业知识库
数据库·starrocks·数据分析·spark·olap·湖仓一体·deepseek
鸿乃江边鸟5 天前
Starrocks 数据均衡DiskAndTabletLoadReBalancer的实现
大数据·starrocks·sql
不剪发的Tony老师6 天前
StarRocks:一款开源的高性能分析型数据仓库
starrocks·数据仓库
StarRocks_labs6 天前
StarRocks Community Monthly Newsletter (Mar)
starrocks·数据仓库·数据分析·olap·湖仓一体
镜舟科技10 天前
NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
数据库·starrocks·nosql·newsql·技术架构·实时数据分析
镜舟科技11 天前
镜舟科技助力某大型电网企业破解数据架构升级难题,打造国产化湖仓标杆
大数据·starrocks·数据分析·开源·lakehouse·分析型数据库·湖仓
Tapdata 钛铂数据12 天前
TapData 与 StarRocks 完成兼容性互认证,携手共建实时数据智能生态,联合打造端到端全链路实时数仓解决方案
starrocks·实时数仓·数据集成·实时数据平台
鸿乃江边鸟15 天前
Starrocks的Bitmap索引和Bloom filter索引以及全局字典
大数据·starrocks·sql
StarRocks_labs19 天前
StarRocks 助力首汽约车精细化运营
大数据·数据库·starrocks·spark·数据查询·存算分离
不确定性确定你我19 天前
使用 kind 创建 K8s 集群并部署 StarRocks 的完整指南
starrocks·云原生·kubernetes·部署·kind