从0到1搭建StarRocks3.4.1存算一体架构(VM 虚拟机版)

从0到1搭建StarRocks3.4.1存算一体架构(VM 虚拟机版)

随着数据量的不断增长与分析需求的增加,现代数据仓库系统对存储与计算的性能要求愈加苛刻。传统的分布式数据仓库架构往往面临着存储与计算分离带来的瓶颈,数据的读写延迟、网络传输等问题,使得系统的整体性能无法满足高效分析的需求。为了解决这个问题,StarRocks提出了存算一体的架构设计,能够同时优化存储和计算,提高查询性能。

本文将介绍如何从零开始搭建StarRocks存算一体架构,帮助开发者和运维人员理解如何使用StarRocks解决海量数据分析的问题。


文章目录

  • [从0到1搭建StarRocks3.4.1存算一体架构(VM 虚拟机版)](#从0到1搭建StarRocks3.4.1存算一体架构(VM 虚拟机版))
    • 什么是StarRocks?
    • 标题StarRocks的存算一体架构
    • [1 环境准备](#1 环境准备)
    • 2.版本安装三台都一样
    • [3.确保 三台 IP 可以互相ping 通](#3.确保 三台 IP 可以互相ping 通)
    • [4.确保三台 IP 可以和连外网](#4.确保三台 IP 可以和连外网)
    • [5.需要先配置仓库和安装 yum 。](#5.需要先配置仓库和安装 yum 。)
    • [标题2.清除缓存 ,再安装 JAVA](#标题2.清除缓存 ,再安装 JAVA)
    • [6.配置 JAVA 环境变量 并找到路径](#6.配置 JAVA 环境变量 并找到路径)
    • [7. 在 IP:192.168.5.128安装FE+BE数据库](#7. 在 IP:192.168.5.128安装FE+BE数据库)
    • 8.设置软路由
    • [9.配置 fe.conf](#9.配置 fe.conf)
    • [10.配置 be.conf](#10.配置 be.conf)
    • [11 .防火墙端口配置](#11 .防火墙端口配置)
    • [12. 启动](#12. 启动)
    • [13.dbeaver 连接数据库](#13.dbeaver 连接数据库)

什么是StarRocks?

StarRocks是一个高性能、分布式的SQL数据仓库系统,专为实时分析工作负载而设计。它的核心优势包括:

高性能:基于列式存储和向量化执行引擎,支持超高吞吐量的查询,尤其适合 OLAP(联机分析处理)场景。

存算一体:将存储与计算紧密结合,通过智能调度和资源优化,提升系统的整体性能。

易扩展:支持弹性扩展,可以根据需要横向增加计算节点和存储节点。
具体链接

标题StarRocks的存算一体架构

在StarRocks的存算一体架构中,计算与存储资源的分配和调度是紧密结合的。传统的分布式架构将存储和计算分开,需要复杂的调度和数据传输。StarRocks则通过以下方式优化了这两者的协同工作:

统一存储:StarRocks将数据存储在列式存储引擎中,采用Parquet格式高效存储数据。通过将存储与计算紧密结合,计算节点可以直接访问本地数据,而不需要通过网络进行频繁的读写操作。

计算引擎:计算引擎采用高效的向量化执行模型,支持大规模并行计算,大幅提升查询速度。

资源调度:在StarRocks中,存储与计算节点的资源可以根据业务需求进行动态调度。计算任务可以被自动调度到合适的计算节点,而数据存储则根据容量需求动态分配到存储节点。

这种设计使得StarRocks在处理大量数据时,能够最大程度地减少数据传输的瓶颈,同时保证计算性能,尤其适合大规模实时分析场景。

具体链接

好了,相信很多人都想安装 StarRocks 但是都卡在的第一步,往往第一步配置可能是最难的

前面废话说了很多直接上干货 。

1 环境准备

我的电脑配置

VM 虚拟机配置 网络

我安装了 3台 Centos 8的 虚拟机

然后由于本人配置有限三台VM 配置如下

主要用于 FE+ BE

IP:192.168.5.128

主要用于 BE

IP:192.168.5.129

主要用于 BE

IP:192.168.5.130

2.版本安装三台都一样

3.确保 三台 IP 可以互相ping 通

FE+ BE 192.168.5.128

ifconig

ping 192.168.5.129 -c 5

ping 192.168.5.130 -c 5

4.确保三台 IP 可以和连外网

VM 虚拟机配置 安装JAVA

image

出现没有装 JAVA

5.需要先配置仓库和安装 yum 。

powershell 复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

这个命令的作用是通过 curl 工具下载 CentOS 8 的 YUM 仓库配置文件,并将其保存到 /etc/yum.repos.d/CentOS-Base.repo 路径。具体来说:

curl 是一个命令行工具,用于从指定的 URL 下载数据。

-o /etc/yum.repos.d/CentOS-Base.repo 参数表示将下载的内容保存到指定的文件路径 /etc/yum.repos.d/CentOS-Base.repo 中。

http://mirrors.aliyun.com/repo/Centos-8.repo 是一个阿里云提供的 CentOS 8 的镜像源配置文件地址。

标题2.清除缓存 ,再安装 JAVA

powershell 复制代码
yum list " * open * java * "

这个命令的作用是列出所有名称中包含 "open" 和 "java" 的可用软件包。具体来说:

yum list 命令用于列出可用的软件包及其状态,包括已安装的、可用安装的和可更新的软件包。

"openjava*" 是一个带通配符的字符串,表示匹配所有包含 "open" 和 "java" 的软件包。例如,它会匹配 "openjdk"、"openjdk-8"、"openjava" 等名称中包含 "open" 和 "java" 的软件包。

阿里云镜像源地址从 mirrors.cloud.aliyuncs.com 替换为 mirrors.aliyun.com

安装 JAVA -11-openjdk 和 JAVA -11-headless

结果好想有些没有安装 上

那就只能删掉再来一次了

powershell 复制代码
rm -rf CentOS-Base.repo

这个命令使用 rm 工具删除文件或目录。具体来说:

rm :是 Linux 系统中用来删除文件和目录的命令。

-r :递归删除,表示不仅删除文件,还会删除文件夹及其中的所有内容。

-f :强制删除,表示即使文件或目录是只读的,也强制删除,不会提示确认。

CentOS-Base.repo :指定要删除的文件名,这里是 CentOS-Base.repo 文件。

php 复制代码
which java

whereis java

6.配置 JAVA 环境变量 并找到路径

powershell 复制代码
vim .bash_profile

Soure .bash_profile

让这个环境变量生效。然后其他2台也一样配置

7. 在 IP:192.168.5.128安装FE+BE数据库

创建 data 目录 并 解压

image

tar xf StarRocks-3.4.1-centos-amd64.tar.gz -C /data

这个命令使用 tar 工具来解压一个 .tar.gz 文件。具体解释如下:

tar : tar 是一个用于压缩和解压文件的命令行工具。它常用来打包文件或解压归档文件。

x :表示解压操作。 tar 命令可以用来创建归档、解压归档、查看归档内容等。 x 表示解压归档。

f :表示后面跟的是归档文件的名称, f 让 tar 知道它接下来的参数是文件名。

StarRocks-3.4.1-centos-amd64.tar.gz :这是要解压的文件名。它是一个压缩文件,包含了 StarRocks 软件的 CentOS 版本的二进制文件。

-C /data : -C 选项告诉 tar 将文件解压到指定目录 /data 。这意味着解压后的文件将被放置在 /data 目录中。

8.设置软路由

ln -s ...

查看指定用户的信息

powershell 复制代码
id StarRocks1

9.配置 fe.conf

powershell 复制代码
cd /data/starrocks/fe/conf
vim fe.conf

10.配置 be.conf

11 .防火墙端口配置

powershell 复制代码
sudo firewall-cmd --zone=public --add-port=9030/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9020/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9010/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8030/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8040/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8050/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8060/tcp --permanent

在 IP:192.168.5.129安装BE数据库

配置 be.conf 如下

防火墙端口配置

powershell 复制代码
sudo firewall-cmd --zone=public --add-port=9050/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9060/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8040/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8060/tcp --permanent

在 IP:192.168.5.130安装BE数据库

配置 be.conf 如下

防火墙端口配置

powershell 复制代码
sudo firewall-cmd --zone=public --add-port=9050/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9060/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8040/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8060/tcp --permanent

12. 启动

具体链接

192.168.5.128 启动

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

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

192.168.5.129启动

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

192.168.5.130启动

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

13.dbeaver 连接数据库

可以是官网下载

配置 选 starrocks 或者 mysql 都可以 ,

链接方式

连接成功

完成3节点的建表语句

sql 复制代码
CREATE TABLE user_access2 (

uid int(11) NULL COMMENT "",

name varchar(64) NULL COMMENT "",

age int(11) NULL COMMENT "",

phone varchar(16) NULL COMMENT "",

last_access datetime NULL COMMENT "",

credits double NULL COMMENT ""

) ENGINE=OLAP

DUPLICATE KEY(uid, name)

DISTRIBUTED BY RANDOM

ORDER BY(uid, name)

PROPERTIES (

"compression" = "LZ4",

"fast_schema_evolution" = "true",

"replicated_storage" = "true",

"replication_num" = "3"

);

节点数确认

如果你需要更加具体的可以访问 https://forum.mirrorship.cn/t/topic/18416?u=tomxu

相关推荐
没有bug.的程序员3 小时前
服务治理体系:从零到一的全景落地指南
java·开发语言·数据库·微服务·架构
elangyipi1233 小时前
从嵌套依赖到符号链接:4款主流npm包管理器的架构演进与深度对比
前端·架构·npm
半桔3 小时前
【高并发架构】从 0 到亿,从单机部署到 K8s 编排:高并发架构的 8 级演进之路
linux·云原生·容器·架构·kubernetes
谢尔登12 小时前
Monorepo 架构
前端·arcgis·架构
我是刘成14 小时前
基于React Native 0.83.1 新架构下的拆包方案
react native·react.js·架构·拆包
踏浪无痕20 小时前
JobFlow:固定分片如何解决分布式扫描的边界抖动
后端·面试·架构
职业码农NO.121 小时前
系统架构设计中的 15 个关键取舍
设计模式·架构·系统架构·ddd·架构师·设计规范·领域驱动
踏浪无痕21 小时前
JobFlow调度的难题:超时、补偿与漏调
后端·面试·架构