文章目录一. 集群规划二.docker compose以及启动脚本卷映射对于网络环境变量三. 集群测试用户新建、赋权、库表初始化断电重启扩容 BE 集群一. 集群规划部署文档https://docs.starrocks.io/zh/docs/2.5/deployment/plan_cluster/分类描述FE节点1. 主要负责元数据管理、客户端连接管理、查询计划和查询调度。2. 三个节点实现高可用以及请求的流量转发 对于请求的高可用和流量转发使用 nginx 实现。对于单宿主机来说这里的fe部署一个3. 建议为每个 FE 节点分配 8 个 CPU 内核和 16GB RAM在大多数场景下每个 FE 节点只需要 100GB 的 HDD 存储。BE节点1. 负责数据存储和 SQL 执行。2. 对于 StarRocks 生产集群建议至少部署三个 BE 节点这些节点会自动形成一个 BE 高可用集群避免单点故障影响数据可靠性和服务可用性。3. 建议为每个 BE 节点分配 16 个 CPU 内核和 64GB RAM。4. StarRocks 集群所有 BE 节点所需的– 总存储空间 原始数据大小 x 数据副本数/数据压缩算法压缩比– 原始数据大小 单行数据大小 x 总数据行数说明1.FE 节点负责元数据管理、客户端连接、查询调度等任务配置要求较低。2.BE 节点负责数据存储和 SQL 查询执行配置要求较高尤其是 CPU 和内存。3.存储空间估算公式根据数据大小、数据副本数和压缩比来计算 BE 节点的存储需求。二.docker compose以及启动脚本参考https://github.com/StarRocks/demo/blob/master/deploy/docker-compose/docker-compose-3BE.yml# 定义starrocks be共用配置x-starrocks-be-common:starrocks-be-commonimage:starrocks/be-ubuntu:3.2.12command:-/bin/bash--c-|chmod x /data/starrocks/be_entrypoint.sh /data/starrocks/be_entrypoint.sh starrocks-fe-0environment:-HOST_TYPEFQDN-TZAsia/Shanghai-MYSQL_ROOT_PASSWORD1111111depends_on:-starrocks-fe-0restart:alwaysnetworks:# network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ipstarrocks-network:services:# starrocks1 fe 3bestarrocks-fe-0:image:starrocks/fe-ubuntu:3.2.12hostname:starrocks-fe-0container_name:starrocks-fe-0command:-/bin/bash--c-|/opt/starrocks/fe_entrypoint.sh starrocks-fe-0environment:-HOST_TYPEFQDN-TZAsia/Shanghai-MYSQL_ROOT_PASSWORD11111111ports:-1030:8030# Frontend service port (HTTP)-2020:9020# Backend service port (HTTP)-3030:9030# Frontend service port (MySQL)volumes:-./starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw-./starrocks/fe-0/log:/opt/starrocks/fe/log:rwrestart:alwaysnetworks:# network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ipstarrocks-network:starrocks-be-0::*starrocks-be-commonhostname:starrocks-be-0container_name:starrocks-be-0volumes:-./starrocks/be-0/storage:/opt/starrocks/be/storage:rw-./starrocks/be-0/log:/opt/starrocks/be/log:rw-./sr/bin:/data/starrocks:rwxstarrocks-be-1::*starrocks-be-commonhostname:starrocks-be-1container_name:starrocks-be-1volumes:-./starrocks/be-1/storage:/opt/starrocks/be/storage:rw-./starrocks/be-1/log:/opt/starrocks/be/log:rw-./sr/bin:/data/starrocks:rwxstarrocks-be-2::*starrocks-be-commonhostname:starrocks-be-2container_name:starrocks-be-2volumes:-./starrocks/be-2/storage:/opt/starrocks/be/storage:rw-./starrocks/be-2/log:/opt/starrocks/be/log:rw-./sr/bin:/data/starrocks:rwxnetworks:starrocks-network:driver:bridge#!/bin/bashHOST_TYPE${HOST_TYPE:-IP}FE_QUERY_PORT${FE_QUERY_PORT:-9030}PROBE_TIMEOUT60PROBE_INTERVAL2HEARTBEAT_PORT9050MY_SELFMY_IPhostname-iMY_HOSTNAMEhostname-fSTARROCKS_ROOT${STARROCKS_ROOT:-/opt/starrocks}STARROCKS_HOME${STARROCKS_ROOT}/beBE_CONFIG$STARROCKS_HOME/conf/be.confMYSQL_ROOT_PW${MYSQL_ROOT_PASSWORD:-121111}log_stderr(){echo[date]$2}update_conf_from_configmap(){if[[x$CONFIGMAP_MOUNT_PATHx]];thenlog_stderrEmpty $CONFIGMAP_MOUNT_PATH env var, skip it!return0fiif!test-d$CONFIGMAP_MOUNT_PATH;thenlog_stderr$CONFIGMAP_MOUNT_PATHnot exist or not a directory, ignore ...return0filocaltgtconfdir$STARROCKS_HOME/confforconffileinls$CONFIGMAP_MOUNT_PATHdolog_stderrProcess conf file$conffile...localtgt$tgtconfdir/$conffileiftest-e$tgt;then# make a backupmv-f$tgt${tgt}.bakfiln-sfT$CONFIGMAP_MOUNT_PATH/$conffile$tgtdone}show_backends(){#先尝试无密码连接output$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot --skip-column-names--batch-eSHOW BACKENDS;)if[$?-ne0];thenlog_stderr使用密码进行尝试连接检查be的状态# 如果无密码连接失败则使用密码进行连接output$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot -p$MYSQL_ROOT_PW --skip-column-names--batch-eSHOW BACKENDS;)fiecho$output}parse_confval_from_cn_conf(){# a naive script to grep given confkey from cn conf file# assume conf format: ^\s*key\s*\s*value\s*$localconfkey$1localconfvaluegrep\$confkey\$BE_CONFIG|grep-v^\s*#|seds|^\s*$confkey\s*\s*\(.*\)\s*$|\1|gecho$confvalue}collect_env_info(){# heartbeat_port from conf filelocalheartbeat_portparse_confval_from_cn_confheartbeat_service_portif[[x$heartbeat_port!x]];thenHEARTBEAT_PORT$heartbeat_portfiif[[x$HOST_TYPExIP]];thenMY_SELF$MY_IPelseMY_SELF$MY_HOSTNAMEfi}attempt_add_self(){# 第一次尝试执行命令output$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot --skip-column-names--batch-eALTER SYSTEM ADD BACKEND\$MY_SELF:$HEARTBEAT_PORT\;)if[$?-ne0];then# 如果第一次失败添加密码log_stderr使用密码进行尝试连接来添加be到feoutput$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot -p$MYSQL_ROOT_PW --skip-column-names--batch-eALTER SYSTEM ADD BACKEND\$MY_SELF:$HEARTBEAT_PORT\;)fiecho$output}add_self(){localsvc$1startdate%slocaltimeout$PROBE_TIMEOUTwhiletruedolog_stderrAdd myself ($MY_SELF:$HEARTBEAT_PORT) into FE ...# 这里当root添加密码时需要通过密码进行设置。#timeout 15 mysql --connect-timeout 2 -h $svc -P $FE_QUERY_PORT -u root -p11111111 --skip-column-names --batch -e ALTER SYSTEM ADD BACKEND \$MY_SELF:$HEARTBEAT_PORT\;attempt_add_self# 查看be是否加入成功memlistshow_backends $svcifecho$memlist|grep-q-w$MY_SELF/dev/null;thenbreak;filetexpirestarttimeoutnowdate%sif[[$expire-le$now]];thenlog_stderrTime out, abort!exit1fisleep$PROBE_INTERVALdone}svc_name$1if[[x$svc_namex]];thenechoNeed a required parameter!echo Example:$0fe_service_nameexit1fiupdate_conf_from_configmap collect_env_info add_self$svc_name||exit$?log_stderrAdd myself ($MY_SELF:$HEARTBEAT_PORT) into FE successlog_stderrrun start_be.shaddition_argsif[[x$LOG_CONSOLEx1]];then# env var LOG_CONSOLE1 can be added to enable logging to consoleaddition_args--logconsolefi$STARROCKS_HOME/bin/start_be.sh$addition_argsret$?if[[$ret-ne0x$LOG_CONSOLE!x1]];thennol50log_stderrLast$nollines of be.INFO ...tail-n$nol$STARROCKS_HOME/log/be.INFO log_stderrLast$nollines of be.out ...tail-n$nol$STARROCKS_HOME/log/be.outfiexit$ret卷映射对于fe涉及到元数据已存在的表、以及系统操作和日志volumes:-./starrocks/fe-0/meta:/opt/starrocks/fe/meta:rw-./starrocks/fe-0/log:/opt/starrocks/fe/log:rw对于be涉及到数据存储和日志volumes:-./starrocks/be-1:/opt/starrocks/be/storage:rw-./starrocks/be-1:/opt/starrocks/be/log:rw对于网络要实现starrocks容器之间的内部通讯主要是通过主机名端口。networks:starrocks-network:driver:bridge环境变量MYSQL_ROOT_PASSWORD11111111用于be容器启动时be添加到fe时的脚本使用。三. 集群测试用户新建、赋权、库表初始化-- 1. root 创建密码-- 只能root自己创建密码 Can not set password for root user, except root itself.SETPASSWORDFORrootPASSWORD(123456);showusers;-- 2. 创建用户radar与密码CREATEUSERradarIDENTIFIEDby11111111;-- 新增密码和修改密码都可用此密码SETPASSWORDFORrootPASSWORD(1234567);-- 3. 授予相关权限SHOWGRANTS;showroles;grantroottouserradar;-- 激活角色-- 每一个链接会话中都需要执行-- # Inactivated role(s): [user_admin, root].SETROLE root;-- 创建库表createdatabasemiddle;-- 注意-- 授权所有库表的权限对于创建库没有权限GRANTALLPRIVILEGESON*.*TOradar;断电重启改造官方的docker启动脚本主要涉及到给root设置密码之后be添加到fe时的操作。# 添加自己到feattempt_add_self(){# 第一次尝试执行命令output$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot --skip-column-names--batch-eALTER SYSTEM ADD BACKEND\$MY_SELF:$HEARTBEAT_PORT\;)if[$?-ne0];then# 如果第一次失败添加密码log_stderr使用密码进行尝试连接来添加be到feoutput$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot -p$MYSQL_ROOT_PW --skip-column-names--batch-eALTER SYSTEM ADD BACKEND\$MY_SELF:$HEARTBEAT_PORT\;)fiecho$output}# 查看存在的beshow_backends(){#先尝试无密码连接output$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot --skip-column-names--batch-eSHOW BACKENDS;)if[$?-ne0];thenlog_stderr使用密码进行尝试连接检查be的状态# 如果无密码连接失败则使用密码进行连接output$(timeout15mysql --connect-timeout2-h$svc-P$FE_QUERY_PORT-uroot -p$MYSQL_ROOT_PW --skip-column-names--batch-eSHOW BACKENDS;)fiecho$output}扩容 BE 集群be的启动脚本天然支持容器启动时就会将自己加入到Fe中所以新增时正常启动docker compose即可如下示例starrocks-be-3::*starrocks-be-commonhostname:starrocks-be-3container_name:starrocks-be-3volumes:-./starrocks/be-3/storage:/opt/starrocks/be/storage:rw-./starrocks/be-3/log:/opt/starrocks/be/log:rw-./sr/bin:/data/starrocks:rwx
企业数字化 ERP 产品动态
相关推荐
【人工智能基础】09Transformer模型基本原理:并行地、更加高效地处理长距离依赖问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 18:23:03
【线性代数】第六章习题:二次型:注意和特征值、特征向量的联系 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 18:22:02
LTX-2本地部署终极指南:3步解决显存瓶颈,生成高清音视频内容 LTX-2本地部署终极指南:3步解决显存瓶颈,生成高清音视频内容
LTX-2是Lightricks开发的高效联合音频-视觉基础模型,能够生成同步的视频和音频内容,为本地AI视频生成带来了革命性的突破。这个强大的开源模型让每个人都能在个人电脑… · 2026/11/3 18:22:02
Java医院陪诊预约系统设计与实现 1. 项目概述与选题背景 医院陪诊服务作为医疗健康领域的重要补充,近年来需求呈现爆发式增长。根据卫健委2023年发布的《全国医疗服务需求调查报告》显示,65岁以上老年患者中,有42%在就诊过程中需要专业陪护协助。而现实中,患者与陪… · 2026/11/4 14:32:54
CSP-J初赛真题分析:从刷题到思维建模的能力跃迁指南 简介:本资源是2024年信息学奥赛CSP-J入门组初赛真题的权威详解文档,专为备战CSP-J的中学生、少儿编程学习者及指导教师设计,系统解决初赛知识点覆盖广、逻辑要求高、易错点密集等核心备考难题。文档以Word(.docx)格式呈… · 2026/11/4 14:32:54
Windows下Mamba-ssm安装实战:CUDA+VS Build Tools编译指南 1. 项目概述:为什么一个Mamba-ssm安装教程值得花20分钟认真读完“最新保姆级Mamba-ssm安装,Windows下mamba环境搭建(零基础)”——这个标题里藏着三个关键信号:最新、保姆级、零基础。它不是又一篇复制粘贴的conda ins… · 2026/11/4 14:32:54
数字化学习中的高效协作笔记系统设计与实践 1. 项目背景与核心价值这个看似简单的"班级作业笔记报告0x02"项目标题背后,其实隐藏着学生群体在数字化学习场景中的真实痛点。作为经历过无数次小组作业折磨的老学长,我深知一份规范的作业笔记对团队协作效率的提升有多重要。不同于个人随堂笔… · 2026/11/4 14:32:54
MySQL ODBC数据源配置实战:32位驱动、字符集与DSN排障 简介:本资源是一份面向数据库初学者与开发人员的MySQL ODBC数据源配置实操指南,解决Windows环境下MySQL与第三方应用(如Excel、Power BI、报表工具等)建立标准数据库连接的核心问题。文档以步骤式图文逻辑展开,完整覆盖… · 2026/11/4 14:32:54
tsm-hub:面向LLM时代的智能体运行时网关 1. 项目概述:一个被低估的“智能体操作系统内核”“tsm-hub”这个名字乍一听像某个冷门开源库的代号,但拆开来看——T(Tools)、S(Skills)、M(MCP)、Hub(网关)… · 2026/11/4 14:31:53
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38