Docker快速搭建Starrocks - 大数据技术架构系列

Docker快速搭建Starrocks

数仓与数集系列:Starrocks



一、Starrocks数据库

StarRocks 是一款开源的分析型数据库,主要用于海量数据的快速分析和查询。它具有以下一些主要特性:

  1. MPP架构
    StarRocks采用MPP(Massive Parallel Processing)架构,支持大规模并行处理海量数据,可以在数据量很大的情况下仍然保持高查询性能。
  2. OLAP优化
    StarRocks针对分析型工作负载进行了大量优化,包括向量化执行、SIMD指令加速、算子下推等,能高效地执行OLAP查询。
  3. 列式存储
    StarRocks使用列式存储格式,可以大幅减少I/O,提高分析查询性能。同时支持数据压缩,节省存储空间。
  4. 实时数据摄入
    支持Kafka/Pulsar等消息队列的数据实时写入,能够实现实时数据分析。
  5. ANSI SQL兼容
    StarRocks支持ANSI SQL标准,用户无需学习新的查询语言。
  6. 高可用性
    支持多副本冗余、故障自动恢复等高可用特性,确保系统稳定性。
  7. 云原生架构
    StarRocks采用云原生架构设计,支持Kubernetes等容器编排,易于管理和扩展。
  8. 多租户隔离
    支持多租户资源隔离,确保不同租户之间的安全性和资源独立。
  9. 生态集成
    StarRocks可以与Apache Spark、Apache Flink、Presto等大数据生态无缝集成。

StarRocks主要面向OLAP场景,用于交互式分析、数据探索、BI报表等,能够提供毫秒级查询响应。常见的应用场景包括广告分析、用户行为分析、风控分析等。

二、Docker快速搭建Starrocks

1.拉取镜像

sudo docker pull starrocks/allin1-ubuntu:3.1-latest

2.启动镜像完成数据库部署

## 创建本地目录用于映射,目录可按需创建,不要直接复制粘贴
mkdir -p /home/work/liyezhuang/module/starrocks/fe/meta
mkdir -p /home/work/liyezhuang/module/starrocks/starrocks/be/storage
mkdir -p /home/work/liyezhuang/module/starrocks/udf_files

## 启动容器
sudo docker run -h 本地ip -e TZ=Asia/Shanghai -p 8644:9030 -p 8645:8030 -p 8646:8040 -v /home/work/liyezhuang/module/starrocks/fe/meta:/data/deploy/starrocks/fe/meta -v /home/work/liyezhuang/module/starrocks/starrocks/be/storage:/data/deploy/starrocks/be/storage -v /home/work/liyezhuang/module/starrocks/udf_files:/data/deploy/starrocks/udf_files -itd starrocks/allin1-ubuntu:3.1-latest

各启动参数作用如下:

  1. -e TZ=Asia/Shanghai
    指定容器内系统时区,防止出现数据库与系统时区不一致的情况
  2. -p 8644:9030 -p 8645:8030 -p 8646:8040
    数据库端口映射,防止出现端口已占用
  3. -v /home/work/liyezhuang/module/starrocks/fe/meta:/data/deploy/starrocks/fe/meta -v /home/work/liyezhuang/module/starrocks/starrocks/be/storage:/data/deploy/starrocks/be/storage -v
    将容器内部的fe元数据目录和be的数据目录映射到本地,防止出现数据丢失的问题
  4. -v /home/work/liyezhuang/module/starrocks/udf_files:/data/deploy/starrocks/udf_files
    将容器中的存放UDF函数Jar包的目录映射到本地,方便快速部署UDF函数

3.设置初始密码

在服务器端首次连接数据库,首次连接直接回车即可连接,然后设置root账号的密码

mysql -h -P8644 -uroot -p
SET PASSWORD FOR 'root' = PASSWORD('你的密码');

总结

1.本文简单介绍了Starrocks的主要特性(没啥要点,百看不如一用)
2.如果建设的数据仓库或者数据集市数据量和数据增长量不大,可以考虑使用Doris和Starrocks,因为够快够简单
3.如果感觉本地部署Doris比较麻烦,不如按此法部署一下Starrocks试试水
4.如果有UDTF函数的需求,建议使用Starrocks,因为Doris2.1.2截至发此文还不支持UDTF函数

补充:

1.给数据库的root账号更改密码后,docker restart 无法重启容器,报错是root账号的密码已修改,原因推测是容器重启后仍在用空密码判断容器的存活性,暂时先将root的密码设置为空再重启,但是无法解决容器意外挂掉的情况,根本解决方案暂未找到…

SET PASSWORD FOR 'root' = PASSWORD('');

在这里插入图片描述

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值