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;

相关推荐
crossoverJie3 天前
推荐一些值得学习的开源项目和框架
starrocks·开源·pulsar
houzhizhen5 天前
StarRocks 架构
starrocks
crossoverJie5 天前
StarRocks 物化视图刷新流程及原理
数据库·starrocks
Double@加贝1 个月前
Starrocks部署前期准备
starrocks
救救孩子把1 个月前
Starrocks表的数据库字段类型及与MySQL 的差异
数据库·starrocks·mysql
鸿乃江边鸟1 个月前
StarRocks 中如何做到查询超时(QueryTimeout)
大数据·starrocks
偏振万花筒2 个月前
【性能优化】低配starRocks常驻内存优化
大数据·数据库·starrocks·性能优化
凉茶冰4 个月前
DataX迁移数据到StarRocks超大表报too many version问题记录
starrocks·python·datax
AskHarries4 个月前
Spring Boot集成starrocks快速入门Demo
java·starrocks·spring boot·后端·mysql·streamload
csdn5659738504 个月前
一文入门云上StarRocks | EMR Serverless StarRocks
starrocks·云原生·serverless·emr