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;

相关推荐
凉茶冰1 个月前
DataX迁移数据到StarRocks超大表报too many version问题记录
starrocks·python·datax
AskHarries2 个月前
Spring Boot集成starrocks快速入门Demo
java·starrocks·spring boot·后端·mysql·streamload
csdn5659738502 个月前
一文入门云上StarRocks | EMR Serverless StarRocks
starrocks·云原生·serverless·emr
刘金宝_Arvin2 个月前
StarRocks部署高可用 FE 集群
starrocks·mpp
BlackJJCat2 个月前
StarRocks分布式元数据源码解析
大数据·starrocks·iceberg·数据湖·湖仓一体
慕沐.3 个月前
【大数据】StarRocks的四种数据模型
大数据·starrocks
我就是全世界4 个月前
StarRocks与ClickHouse:简要快速选型对比
starrocks·clickhouse
偏振万花筒4 个月前
【代码实践】starRocks 窗口函数(udf)实践
大数据·数据库·starrocks
Ilv老婆5 个月前
StarRocks用户权限管理
运维·数据库·starrocks