StarRocks数据库部署全记录(保姆式帮助你初次体验StarRocks)

因业务需要,特此了解StarRocks产品和部署。
接触过程中发现指导资料很稀少,本人将结合官方的手册+其他开源博主指导,将第一次接触到的概念和部署流程梳理,得出本文。
已有的资源中对细节介绍欠缺,导致我本人整个过程中花费了大量时间去验证。这也是本文独特之处

目录

  • 了解星环数据库
  • 部署前准备
  • 部署
    • 1.1部署单个FE节点
      • 1.1.1 安装mysql
      • 1.1.2 安装JDK
      • 1.1.3 安装StarRocks
      • 1.1.4 启动FE节点
      • 1.1.5 以Mysql客户端方式连接FE实现添加节点
    • 1.2 部署单个BE节点
    • 1.3 部署Broker节点
    • 1.4 停止节点
      • 1.4.1 停止FE节点
      • 1.4.2 停止BE节点
    • 1.5 删除BE节点
    • 1.6 卸载MySQL
    • 1.7 卸载JDK

了解星环数据库

  1. 什么是星环数据库?

StarRocks(星环数据库),一款国产开源的分析性数据库管理系统。专注于实时查询和分析大规模数据。

  1. 为什么使用StarRocks?
  • 若项目中已经使用了优化查询,库的分页分表,硬件升级,缓存,ES引擎这些方案提高查询效率后,发现查询效率仍不高,表明在处理此量级别的数据时,mysql性能受限。因此需要更换一款具有更强性能处理海量数据(PB级别及以上)的数据库

  • 若项目中需要及时获得最新的数据分析结果或需要快速查询大规模数据集,StarRocks具有出色的查询性能和可扩展性,其使用列式存储和分布式架构,可轻松处理大规模数据集,并提供更快的查询效率

  • SatrtRocks处理海量结构化数据的存储,ES提供非结构化数据的全文搜索和分析能力,针对海量数据存储和数据搜索的需求,SatrRocks+ES是一套成熟的解决方案。

  • 总而言之,StarRocks是专门为分布式场景和处理大规模数据研发的,只是说其2022年开发版本进入2.0,且未实现全平台兼容。不如mysql稳定性强和庞大的社区规模。

  1. 使用前注意事项?

StarRocks对部署的硬件有一定的要求。不符合要求的环境会无法启动或者性能不佳。

x86环境

  • StarRocks现仅支持拥有avx2指令集的x86架构的cpu;不支持avx2指令集的x86架构的cpu无法启动StarRocks。(但可以修改StarRocks源码启动,仅供学习使用,不推荐)

Arm环境

  • arm环境不提供指令集SIMD指令集,因此需要手动编译二进制文件(无法发挥StarRocks全部性能)

总结来说:StarRocks仅支持部分X86环境

  1. 安装设备要求

必须 CentOS 7操作环境;(经测试,不支持其他测试环境:red hat)
必须 内存16G及以上; (经测试,不满足有概率无法添加FE节点)
磁盘空间200G及以上;
cpu 8核;(6核也行,推荐8核)

(不满足以上条件在部署时会极大概率会导致失败)

5.手动部署流程

本文将会在一台服务器上进行如下操作
  1) 安装mysql
  2) 安装+配置JDK
  3) 安装StarRocks
  4) 启动FE+添加节点
  5) 启动BE+添加节点

部署前准备

1)判断服务器环境是否支持部署,输入命令后有输出内容代表通过

cat /proc/cpuinfo | grep avx2

2)检查端口是否被占用

netstat -tunlp | grep 9060
netstat -tunlp | grep 8040
netstat -tunlp | grep 9050
netstat -tunlp | grep 8060
netstat -tunlp | grep 9050

StarRocks启动会默认占用此端口,若被占用,可以放开此端口(推荐)或在后面部署StarRocks中修改默认端口。

3)最佳的StarRocks部署方案

一台服务器只能部署一个FE节点
可以多台服务器部署多个FE节点搭建FE集群(节点会自动选主)

一台服务器部署一个BE节点
可以多台服务器部署多个BE节点搭建BE集群

每个服务器上部署一个Broker节点

4) 基本概念

FE节点
  负责查询规则,查询调度(连接数据库,解析执行sql)
BE节点
  负责存储数据
Broker节点
  负责数据的导入导出。(StarRocks—Broker—Hadoop)

部署

1.1部署单个FE节点

创建目录,分别上传对应的压缩包
/home
  --mouble
     --JDK
      – jdk-8u271-linux-x64.tar.gz
     --MySQL
       --mysql80-community-release-el7-9.noarch.rpm
    --StarRocks
      – StarRocks-3.0.4.tar.gz

1.1.1 安装mysql

在这里插入图片描述

  1. 安装软件包
    yum install mysql80-community-release-el7-9.noarch.rpm
    在这里插入图片描述

  2. 安装mysql
    yum install mysql-community-server
    在这里插入图片描述

  3. 启动mysql
    systemctl start mysqld

  4. 检查mysql是否启动
    systemctl status mysqld
    在这里插入图片描述

1.1.2 安装JDK

在这里插入图片描述


注意一下
在这里插入图片描述


1)解压
tar -zxvf /home/mouble/JDk/jdk-8u271-linux-x64.tar.gz

2)编辑profile文件
vim /etc/profile
添加以下命令

JAVA_HOME=/home/mouble/JDk/jdk1.8.0_271
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

在这里插入图片描述

3)检查java是否安装成功
java -version

在这里插入图片描述


1.1.3 安装StarRocks

在这里插入图片描述

1)解压到本地当前目录
tar -zxvf StarRocks-3.0.4.tar.gz
得到此文件夹,cd进入,后续操作都在/StarRocks-3.0.4路径下
在这里插入图片描述

2)修改fe.conf文件内容:需要将内存升级到16G以上
  切换路径
cd /StarRocks-3.0.4/fe/conf/

  编辑fe.conf
vim fe.conf

  替换内容

JAVA_OPTS = "-Xmx4096m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:$STARROCKS_HOME/log/fe.gc.log"

在这里插入图片描述

1.1.4 启动FE节点

1)创建元数据目录 mate:存放生产的元数据,此目录不会自动创建
  切换路径到/fe
cd /StarRocks-3.0.4/fe/

  创建文件
mkdir mate

在这里插入图片描述

2)启动FE节点
  以守护进程的形式启动
./start_fe.sh --daemon

  jps命令查看java相关的进程信息:出现FE
jps
在这里插入图片描述

3)在日志中查看FE是否启动成功
  切换路径 /StarRocks-3.0.4/fe/log/
  查看启动日志 cat fe.log
在这里插入图片描述

4)浏览器登陆数据库是否启动成功
  (本服务地址是:192.168.148.13)替换成自己的
  账号:root 密码:无 (输入地址后会弹出来输入框)

在这里插入图片描述
在这里插入图片描述

1.1.5 以Mysql客户端方式连接FE实现添加节点

1)测试链接
mysql -h 192.168.148.13 -uroot -P9030 (只需替换自己的IP)
解释:默认密码是空,默认FE端口是9030
在这里插入图片描述

2)查看FE情况
SHOW PROC '/frontends'\G
在这里插入图片描述

3)退出mysql(仅告诉你如何退出,先不要退出mysql)
mysql> exit

至此,FE设置完毕!

1.2 部署单个BE节点

重启一个新的终端(不要关闭上一个终端)
在这里插入图片描述

  1. 创建storage目录存放BE元数据

切换路径 cd /StarRocks-3.0.4/be/
创建文件夹 mkdir storage
在这里插入图片描述

  1. 使用mysql客户端添加新终端对应be节点

在上一个终端界面操作
ALTER SYSTEM ADD BACKEND "192.168.148.13:9050";

在这里插入图片描述

解释 IP地址—启动BE节点的服务器IP,这里我们使用的同一台服务器,原则上应该是新的服务器。 9050端口:默认BE端口

  1. 启动BE
    在新的终端界面操作
    bin/start_be.sh –daemon(注意启动前路径是否在/be)

在这里插入图片描述

  1. 查看BE是否启动成功
    ps -ef | grep starrocks_be
    BE使用C++编写,使用ps命令查看进程,若发现有starrocks_be进程,即为启动成功:
    在这里插入图片描述

  2. 以mysql方式访问BE状态
    在上一个终端界面输入SHOW PROC '/backends'\G

在这里插入图片描述

至此 BE节点成功启动!



1.3 部署Broker节点

正常应该是有几个服务器,部署几个Broker节点

  1. 切换路径
    在这里插入图片描述

  2. 启动Broker节点
    ./start_broker.sh --daemon
    在这里插入图片描述

  3. 添加Broker节点
    broker1:自定义的broker名字
    ALTER SYSTEM ADD BROKER broker1 "192.168.148.13:8000";
    在这里插入图片描述

  4. 检查Broker节点
    SHOW PROC "/brokers"\G
    在这里插入图片描述

1.4 停止节点

1.4.1 停止FE节点

注意文件路径/StarRocks-3.0.4/fe/bin/stop_fe.sh –daemon
./stop_fe.sh –daemon

1.4.2 停止BE节点

注意文件路径/StarRocks-3.0.4/be/bin/stop_fe.sh –daemon
./stop_be.sh –daemon

1.5 删除BE节点

mysql> alter system dropp backend '192.168.148.13:9050';

1.6 卸载MySQL

查看有哪些安装包需要卸载
rpm -qa | grep -i mysql

在这里插入图片描述

1)关闭mysql服务
service mysql stop

2)查看mysql状态是否关闭
systemctl status mysql

3)从系统中删除MySQL及其相关的软件包
yum remove mysql-server mysql-client mysql-common
yum autoremove
yum clean all

4)检查是否卸载干净 rpm -qa | grep -i mysql
还存在就执行: rm -ev 安装包名

1.7 卸载JDK

yum remove java-1.8.0-openjdk
java -version

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/56230.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb+jsp+Tomcat的叮当书城项目

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88123111?spm1001.2014.3001.5503 技术:ssm jsp JDK1.8 MySQL5.7 Tomcat8.3 源码数据库课程设计 功能:管理员与普通用户和超级管理员三个角色,管理员可…

Java 解析Excel单元格的富文本

1. 总体介绍 该方法是解析 xlsx 单元格中的富文本,注意不是 xls,xls 的 api 不一样,试了很久没成功。只实现了解析 斜体字、上下标,其它的实现方式应该类似。 2. 具体实现 2.1 代码 package util;import java.io.FileInputStr…

Mac 终端快捷键设置:如何给 Mac 中的 Terminal 设置 Ctrl+Alt+T 快捷键快速启动

Mac 电脑中正常是没有直接打开终端命令行的快捷键指令的,但可以通过 commandspace 打开聚焦搜索,然后输入 ter 或者 terminal 全拼打开。但习惯了 linux 的同学会觉得这个操作很别扭。于是我们希望能通过键盘按键直接打开。 操作流程如下: 1…

ChatGPT在法律行业的市场潜力

​ChatGPT现在已经成为我们的文字生成辅助工具、搜索引擎助手,许多体验过它的朋友会发现对它越来越依赖,并将其逐渐融入到自己的日常工作、生活。但有一点值得注意:这种人工智能除了技术可行、经济价值可行还要与相关规范即人类普遍的价值观念…

Blazor前后端框架Known-V1.2.9

V1.2.9 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。 Gitee: https://gitee.com/known/KnownGithub:https://github.com/known/Known 概述 基于C#和Blazor…

DHCP地址池耗尽攻击

1) 攻击DHCP服务器:频繁的发送伪装DHCP请求,直到将DHCP地址池资源耗尽防御:在交换机(管理型)的端口上做动态MAC地址绑定 2) 伪装DHCP服务器攻击:hack通过将自己部署为DHCP服务器&…

【git技巧】什么是 .gitkeep

.gitkeep 文件的作用 就是——使 Git 保留一个空文件夹! Git 是一个文件追踪系统,这也导致了 Git 的设计初衷是对文件进行追踪,所以,Git 不会追踪一个空目录。 但是,在某些情况下,我们确实是需要保留一些…

SSD 之乱七八糟的概念

1. 性能指标有哪些?分别是什么意思? 硬盘性能指标一般包括 IOPS(反映的是随机读写性能)、吞吐量(也称为带宽,反映的是顺序读写性能)、Response Time / Latency(响应时间 / 时延&…

快手头部主播合体,二驴祁天道直播首秀销售额破亿

2023年刚刚过半,直播江湖突然生变。 快手头部娱乐主播「二驴」与快手户外主播第一人「祁天道」宣布“合体”,两者加总的粉丝量接近1亿,又一个“超级网红IP”诞生。 ▲图源:二驴的、祁天道快手截图 从白手起家的草根,…

机器学习 | Python实现NARX模型预测控制

机器学习 | Python实现NARX模型预测控制 目录 机器学习 | Python实现NARX模型预测控制效果一览基本介绍研究内容程序设计参考资料效果一览 基本介绍 机器学习 | Python实现NARX模型预测控制 研究内容 贝叶斯黑盒模型预测控制,基于具有外源输入的非线性自回归模型的预期自由能最…

arm neon/fpu/mfloat

neon官网介绍: Arm Neon technology is an advanced Single Instruction Multiple Data (SIMD) architecture extension for the A-profile and R-profile processors. Neon technology is a packed SIMD architecture. Neon registers are considered as vectors of elements …

UniPro助力金融企业数字化转型 强化项目协作与跟踪

根据一份来自Standish Group的研究报告("CHAOS Report"),该报告对美国各行业的项目进行了调查,结果显示仅有不到一半(约44%)的项目能够成功按时完成,并达到预期的业务目标。其中&…

支持中文创成式填充 AI版PS 2023 v25.0安装教程

抖音保姆级视频教程: https://v.douyin.com/iJdUjg2o/ PS 2023 v25.0安装包地址: 链接: https://pan.baidu.com/s/1PXgVHDHdMIRcDzV4IfGAQw?pwd2023 提取码: 2023 如有疑问请加交流请加QQ群:814894746 安装教程总结: 卸载之前的PS beta版…

GPTCache 悬赏令!寻找最佳捉虫猎手,豪华赏格等你来拿!

号外号外!GPTCache 全宇宙寻找最佳捉虫猎手!捉虫数量越多,奖品越丰厚! GPTCache 是为 AIGC 应用搭建的全新缓存,典型的应用场景是大模型,它采用语义缓存技术,能够存储 LLM 响应,从而…

关于Linux启动后eth0网卡起不来的问题

1./etc/udev/rules.d/70-persistent-net.rules 先到这个文件中 将eth0注掉 ## 同时记录ADDR 2.mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth2 注意这个eth2, 要和第一步的号码对应 同时进入文件,将设备和ADDR修改 3.重启网络 servi…

既要增长又要人效,零售人准备好接受老板的灵魂拷问了吗

增长对于零售行业尤其中小规模的玩家来说重要性不言而喻,而支撑持续增长的引擎之一就是对日常运营数据能随时进行快速、合理的解读,从而在瞬息万变的市场环境和有限的时间窗口内,根据指标背后折射的问题及时调整市场投放和客户关系维护等策略…

​​​amoeba实现MySQL读写分离

​​​amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为192.168.131.136。三台服务器操作系统为RHEL6.4 x86_64,为…

提升开发效率,Lombok的链式编程和构建模式

目录 链式编程 定义 代码示例 ​编辑 Accessors(chaintrue) 开启链式编程 ​编辑 Accessors(chain true,fluent true) 去除set和get 构建模式 定义 代码示例 ​编辑 踩坑 Singular 定义 代码示例 踩坑默认值情况 ​编辑 With 定义 代码示例 链式编程 定义 链…

stable diffusion

一:安装。 stable diffusion 安装和使用全教程 - 知乎 Stable Diffusion安装 - 知乎 环境安装: 1:python 3.10安装。 Download Python | Python.org 切记要安装3.10版本,因为Stable diffusion是用3.10版本编写的,所…

mysql综合练习语法总结

mysql综合练习 用于 小白练手的主要用于以后语法忘了回来看 题目 # 1、创建数据库test01_library # 2、创建表 books,表结构如下:# 3、向books表中插入记录 # 1)不指定字段名称,插入第一条记录 # 2)指定所有字段名…