1.背景

        在企业中可能需要,将starrocks的某一台服务器下架,换上另一台服务器,如何实现这个操作,本篇将进行介绍;

节点hadoop101hadoop102hadoop103hadoop104
集群原集群节点新节点
fe❌(下线)✔(新上线)
be❌(下线)✔(新上线)

2.原表副本情况

创建一个测试表

CREATE TABLE IF NOT EXISTS 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 "")DUPLICATE KEY(event_time, event_type)DISTRIBUTED BY HASH(user_id)PROPERTIES ("replication_num" = "3");

查看分本在节点的分布情况,可以看出在三节点均匀分布

mysql> ADMIN SHOW REPLICA DISTRIBUTION FROM detail;
+-----------+------------+-------+---------+
| BackendId | ReplicaNum | Graph | Percent |
+-----------+------------+-------+---------+
| 10007     | 6          | >     | 33.33 % |
| 10084     | 6          | >     | 33.33 % |
| 10085     | 6          | >     | 33.33 % |
+-----------+------------+-------+---------+
3 rows in set (0.10 sec)

3.扩容集群

stargo 中的"集群扩容"是指集群的"横向扩容",即为原有的集群增加 FE、BE 或 Broker 节点。

语法:

./stargo cluster scale-out <cluster_name> <topology_file>
## cluster_name:需扩容集群的集群名,例如这里的'sr-c1'
## topology_file:包含扩容节点对应信息的yaml拓扑文件,文件名称随意,stargo通过该文件获取扩容节点的ip、端口及目录信息

3.0 配置ssh

在执行扩容命令前,我们仍需在目标服务器上手动创建对应的目录,并配置 stargo 所在节点对目标节点的免密。

3.1 编辑yaml文件

扩容的 yaml 文件中只需要配置需扩容节点相关的信息,不需要也不能填写已有集群的信息。扩容的 yaml 不需要编写 global 中的信息,这部分会直接沿用原集群的信息。其他信息参考部署时的模板文件填入即可,例如 sr-out.yaml:

[root@hadoop101 stargo-v2.3]# vim sr-out.yamlfe_servers:- host: 192.21.243.51ssh_port: 22java_heap_mem: 10240http_port: 8031rpc_port: 9021query_port: 9031edit_log_port: 9011deploy_dir: /opt/module/starrocks/femeta_dir: /data/starrocks/fe/metalog_dir: /data/starrocks/fe/logpriority_networks: 172.21.243.51role: FOLLOWERconfig:sys_log_level: "INFO"
be_servers:- host: 192.21.243.51ssh_port: 22be_port: 9061webserver_port: 8041heartbeat_service_port: 9051brpc_port: 8061deploy_dir : /opt/module/starrocks/bestorage_dir: /data/starrocks/be/storagelog_dir: /data/starrocks/be/logpriority_networks: 172.21.243.51config:enable_new_load_on_memory_limit_exceeded: truemem_limit: 90%

3.2 在新节点上创建目录

[root@hadoop104 ~] mkdir /data/starrocks
[root@hadoop104 ~] mkdir /opt/module/starrocks

3.3 运行检查

分发stargo到hadoop104

运行服务检查

[root@hadoop104 stargo-v2.3] ./env_check.sh ############################ CPU检查 #############################
success########################## Linux版本检查 ##########################
success########################## Glibc版本检查 ##########################
success############################ Swap检查 ############################
success
success########################### 内核参数检查 ##########################
success
success####################### 进程最大打开文件数检查 ######################
success####################### 用户最大可用进程数检查 ######################
success########################### FE端口检查 ###########################
success########################### BE端口检查 ###########################
success######################### Broker端口检查 #########################
success########################### 防火墙检查 ###########################
success########################## TCP参数检查 ###########################
success######################### Somaxconn检查 #########################
success########################## SELinux检查 ###########################
success########################## Hugepage检查 ##########################
success
success########################## 时钟同步检查 ##########################
success############################ 时区检查 ############################
success########################## 磁盘容量检查 ##########################
success########################## 内存大小检查 ##########################
服务器内存较小,为保证集群性能和稳定性,生产环境的建议内存为32G+######################### Netstat命令检查 ########################
success

3.4 执行扩容命令

[root@hadoop101 stargo-v2.3] ./stargo cluster scale-out sr-c1 sr-out.yaml############################################# SCALE OUT BE CLUSTER #############################################
############################################# SCALE OUT BE CLUSTER #############################################
[2025-08-27 19:04:34.728881    INFO] Starting BE node [BeHost = 172.21.243.51 HeartbeatServicePort = 9051]
[2025-08-27 19:04:58.787840    INFO] The BE node start succefully [host = 172.21.243.51, heartbeatServicePort = 9051]
[2025-08-27 19:04:58.787926  OUTPUT] List all BE status:beHost = 172.21.243.51       beHeartbeatServicePort = 9051      beStatus = true[root@hadoop101 stargo-v2.3] ./stargo cluster display sr-c1
[2025-08-27 19:05:17.874878    INFO] Display cluster [clusterName = sr-c1]
clusterName = sr-c1
clusterVerison = v3.0.9
ID                          ROLE    HOST                  PORT             STAT        DEPLOYDIR                                           DATADIR                                           
--------------------------  ------  --------------------  ---------------  ----------  --------------------------------------------------  --------------------------------------------------
172.21.243.157:9011         FE      172.21.243.157        9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.14:9011          FE      172.21.243.14         9011/9031        UP/L        /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.19:9011          FE      172.21.243.19         9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.51:9011          FE      172.21.243.51         9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.157:9061         BE      172.21.243.157        9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.14:9061          BE      172.21.243.14         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.19:9061          BE      172.21.243.19         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.51:9061          BE      172.21.243.51         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage 

3.5 查看集群块存储分布情况

mysql> ADMIN SHOW REPLICA DISTRIBUTION FROM detail;
+-----------+------------+-------+---------+
| BackendId | ReplicaNum | Graph | Percent |
+-----------+------------+-------+---------+
| 10007     | 4          | >     | 22.22 % |
| 10084     | 5          | >>    | 27.78 % |
| 10085     | 5          | >>    | 27.78 % |
| 13036     | 4          | >     | 22.22 % |
+-----------+------------+-------+---------+
4 rows in set (0.01 sec)

starrocks会自动执行数据均衡

4.缩容集群

stargo 中的集群缩容仍是指横向缩容,即将集群中的某个节点在集群中删除。对于 FE、CN 和 Broker 实例,stargo 会直接执行 Drop 命令,该命令为同步操作,执行后对应节点即完成缩容。而对于 BE 实例,基于数据安全考虑,stargo 会执行 DECOMMISSION 命令,该命令为异步操作,需等待目标 BE 将自己的数据迁移至集群其他节点后才会脱离集群完成缩容,所以实际的缩容时间会随该节点数据量的增大而增加。

说明:

1)FE Leader节点不允许缩容,可以先停止其服务待集群重新选主后再执行缩容。

2)BE 是否被执行缩容可通过 show backends; 命令返回值中的 SystemDecommissioned 是否为 true 来判断。在 BE 开始缩容后,其上的 tablet 会自动迁移至集群其他节点,故 BE 的缩容进度可通过返回值中的 TabletNum 剩余数来粗估。

3)因 DECOMMISSION 为异步操作,stargo 仅会在执行缩容命令后给出提示,并不会一直等待缩容完成。若发现集群缩容一直未完成,在确认集群中表都为三副本且集群中没有不健康副本后,可在 StarRocks 中对该 BE 再次执行 drop 命令。

集群缩容的语法为:

./stargo cluster scale-in <cluster_name> --node <nodeId>
## cluster_name:需缩容的集群名称
## nodeId:缩容节点的节点ID,即为通过display命令查到的ID字段值

4.1 先缩容FE节点

先查看集群状态

[root@hadoop101 stargo-v2.3] ./stargo cluster display sr-c1
[2025-08-27 19:15:31.442134    INFO] Display cluster [clusterName = sr-c1]
clusterName = sr-c1
clusterVerison = v3.0.9
ID                          ROLE    HOST                  PORT             STAT        DEPLOYDIR                                           DATADIR                                           
--------------------------  ------  --------------------  ---------------  ----------  --------------------------------------------------  --------------------------------------------------
172.21.243.157:9011         FE      172.21.243.157        9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.14:9011          FE      172.21.243.14         9011/9031        UP/L        /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.19:9011          FE      172.21.243.19         9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.51:9011          FE      172.21.243.51         9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.157:9061         BE      172.21.243.157        9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.14:9061          BE      172.21.243.14         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.19:9061          BE      172.21.243.19         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.51:9061          BE      172.21.243.51         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage      

退役hadoop103节点FE服务

[root@hadoop101 stargo-v2.3] ./stargo cluster scale-in sr-c1 --node 172.21.243.19:9011
[2025-08-27 19:16:23.388499  OUTPUT] Start scale in cluster [clusterName = sr-c1, nodeId = 172.21.243.19:9011]
[2025-08-27 19:16:23.959336  OUTPUT] Scale in FE node successfully. [clusterName = sr-c1, nodeId = 172.21.243.19:9011]

查看集群节点退役成功

[root@hadoop101 stargo-v2.3] ./stargo cluster display sr-c1
[2025-08-27 19:16:32.184010    INFO] Display cluster [clusterName = sr-c1]
clusterName = sr-c1
clusterVerison = v3.0.9
ID                          ROLE    HOST                  PORT             STAT        DEPLOYDIR                                           DATADIR                                           
--------------------------  ------  --------------------  ---------------  ----------  --------------------------------------------------  --------------------------------------------------
172.21.243.157:9011         FE      172.21.243.157        9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.14:9011          FE      172.21.243.14         9011/9031        UP/L        /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.51:9011          FE      172.21.243.51         9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.157:9061         BE      172.21.243.157        9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.14:9061          BE      172.21.243.14         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.19:9061          BE      172.21.243.19         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.51:9061          BE      172.21.243.51         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage               

4.2 缩容BE节点

[root@hadoop101 stargo-v2.3] ./stargo cluster scale-in sr-c1 --node 172.21.243.19:9061
[2025-08-27 19:20:52.360015  OUTPUT] Start scale in cluster [clusterName = sr-c1, nodeId = 172.21.243.19:9061]
[2025-08-27 19:20:52.472146  OUTPUT] Scale in BE node successfully. [clusterName = sr-c1, nodeId = 172.21.243.19:9061]
[2025-08-27 19:20:52.472177  OUTPUT] 注意:BE的缩容为异步操作,当前提示仅代表缩容命令执行完成。缩容命令执行后,后台会先将目标节点的tablet迁移至集群其他BE节点,在迁移完成后将该BE将自动脱离集群。Tablet迁移进度可通过"show backends;"语句查看TabletNum进行判断。若目标节点的tablet仅剩数十个且TabletNum长时间不减少,则可考虑执行"show proc '/statistic';"语句,在确认集群无不健康tablet副本后将目标BE手动Drop掉。

查看集群状态节点退役成功

[root@hadoop101 stargo-v2.3] ./stargo cluster display sr-c1
[2025-08-27 19:26:18.927756    INFO] Display cluster [clusterName = sr-c1]
clusterName = sr-c1
clusterVerison = v3.0.9
ID                          ROLE    HOST                  PORT             STAT        DEPLOYDIR                                           DATADIR                                           
--------------------------  ------  --------------------  ---------------  ----------  --------------------------------------------------  --------------------------------------------------
172.21.243.157:9011         FE      172.21.243.157        9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.14:9011          FE      172.21.243.14         9011/9031        UP/L        /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.51:9011          FE      172.21.243.51         9011/9031        UP          /opt/module/starrocks/fe                            /data/starrocks/fe/meta                           
172.21.243.157:9061         BE      172.21.243.157        9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.14:9061          BE      172.21.243.14         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage                        
172.21.243.51:9061          BE      172.21.243.51         9061/9051        UP          /opt/module/starrocks/be                            /data/starrocks/be/storage 

查看集群块分布情况,数据均衡退役成功

mysql> ADMIN SHOW REPLICA DISTRIBUTION FROM detail;
+-----------+------------+-------+---------+
| BackendId | ReplicaNum | Graph | Percent |
+-----------+------------+-------+---------+
| 10007     | 6          | >     | 33.33 % |
| 10084     | 6          | >     | 33.33 % |
| 13036     | 6          | >     | 33.33 % |
+-----------+------------+-------+---------+

5.查看集群元数据

集群节点已经替换为新添加的节点,旧节点从集群元文件中删除

[root@hadoop101 sr-c1] vim /root/.stargo/cluster/sr-c1/meta.yaml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97294.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97294.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/97294.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux -- 进程间通信【命名管道】

目录 一、命名管道定义 二、命名管道创建 1、指令 2、系统调用 3、删除 三、匿名管道和命名管道的区别 四、命名管道的打开规则 五、代码示例 1、comm.hpp 2、server.cc 3、client.cc 一、命名管道定义 # 匿名管道存在以下核心限制&#xff1a; 仅限亲缘关系进程&a…

LinuxC系统多线程程序设计

一.多线程程序设计1. 线程概述&#xff1a;1.1 什么是线程?线程是进程中的一个实体(组成单元),是系统进程调度的最小单元。一个进程至少具有一个线程&#xff0c;如果进程仅有一个线程&#xff0c;该线程就代表进程本身。把代表进程本身的线程称为主线程&#xff0c;一个进程…

Vue3 + TS + MapboxGL.js 三维地图开发项目

文章目录 1. 安装依赖 2. 新建 Map 组件(components/MapView.vue) 3. 在页面中使用(views/Home.vue) 4. 效果说明 1. 安装依赖 npm install mapbox-gl @types/mapbox-gl --save⚠️ 注意:需要去 Mapbox 官网,申请一个 access token。 package.json {"name":…

【编程语言】Rust 入门

目录 一、Rust 是什么&#xff1f;为什么选择它&#xff1f; 二、环境搭建&#xff0c;迈出第一步 2.1 Windows 系统安装步骤 2.2 macOS 系统安装步骤 2.3 Linux 系统安装步骤 2.4 安装过程中的常见问题及解决方案 三、基础语法&#xff0c;构建知识大厦的基石 3.1 变量…

Python 编码与加密全解析:从字符编码到 RSA 签名验证

在 Python 开发中&#xff0c;字符编码&#xff08;如 UTF-8、GBK&#xff09;和 数据加密&#xff08;如 Base64、MD5、RSA&#xff09;是处理数据传输、存储安全的核心技术。本文结合实战代码&#xff0c;从基础的字符编解码入手&#xff0c;逐步深入到加密算法的应用&#x…

关于shell命令的扩展

目录 一、逻辑运算符 1. &&&#xff08;AND&#xff09; 2. ||&#xff08;OR&#xff09; 3. 组合使用&#xff1a;A && B || C 二、输出与重定向 1. echo 输出 2. 标准文件描述符&#xff08;FD&#xff09; 3. 重定向操作符 4. 同时重定向 stdout 和…

MySQL EXPLAIN 查看执行计划详解

MySQL 的 EXPLAIN 命令。这是一个分析和优化 SQL 查询性能不可或缺的强大工具。它展示了 MySQL 如何执行一条 SQL 语句&#xff0c;包括如何使用索引、表连接顺序、估计的行数等关键信息。1. 如何使用 EXPLAIN在你要分析的 SELECT 语句前加上 EXPLAIN 或 EXPLAIN FORMATJSON&am…

TensorFlow 面试题及详细答案 120道(51-60)-- 模型保存、加载与部署

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。 前后端面试题-专栏总目录 文章目录 一、本文面试题目录 51. TensorFlow中保存和加…

从零开始学Shell编程:从基础到实战案例

从零开始学Shell编程&#xff1a;从基础到实战案例 文章目录从零开始学Shell编程&#xff1a;从基础到实战案例一、认识Shell&#xff1a;是什么与为什么学1.1 Shell的定义1.2 常用Shell解释器二、Shell编程快速入门&#xff1a;编写第一个脚本2.1 步骤1&#xff1a;创建脚本文…

机器学习算法全景解析:从理论到实践

机器学习算法全景解析&#xff1a;从理论到实践引言机器学习作为人工智能的核心组成部分&#xff0c;正在深刻地改变我们的世界。从推荐系统到自动驾驶&#xff0c;从医疗诊断到金融风控&#xff0c;机器学习算法无处不在。本文将全面系统地介绍机器学习的主要算法类别及其核心…

week5-[二维数组]对角线

week5-[二维数组]对角线 题目描述 给定一个 nnn\times nnn 的正方形二维数组&#xff0c;输出它两条对角线上元素的和。 输入格式 输入共 n1n 1n1 行。 第 111 行 111 个正整数 nnn。 接下来 nnn 行&#xff0c;每行 nnn 个正整数 aija_{ij}aij​ 表示这个二维数组。 输出格式…

GoogLeNet:深度学习中的“卷积网络变形金刚“

大家好&#xff01;今天我们要聊一个在深度学习领域掀起革命的经典网络——GoogLeNet&#xff08;又称Inception v1&#xff09;。这个由Google团队在2014年提出的模型&#xff0c;不仅拿下了ImageNet竞赛冠军&#xff0c;更用"网络中的网络"设计理念彻底改变了卷积神…

笔记本电脑蓝牙搜索不到设备-已解决

方法1打开疑难解答&#xff0c;选择其他疑难解答&#xff0c;下划选择蓝牙&#xff0c;点击运行&#xff0c;电脑自行检测并修复蓝牙方法2右键此电脑&#xff0c;选择管理&#xff0c;找到自己的蓝牙设备。然后对箭头指向的这个点击右键&#xff0c;选择《更新驱动程序》&#…

WPF 程序用户权限模块利用MarkupExtension实现控制控件显示

工作记录 ------------------------------------------------------------------------------------------------------- MarkupExtension:XAML标记扩展 实现了什么作用&#xff1a;通过扩展标记将一种输入转化为另一种类型的输出 思路&#xff1a; 不直接设置控件的Visib…

SpringMVC相关梳理

SpringMVC 返回值类型&#xff08;一&#xff09;核心返回值类型分类视图渲染类&#xff1a;用于跳转并渲染页面&#xff0c;如String&#xff08;指定视图名&#xff09;、ModelAndView&#xff08;视图 数据&#xff09;。数据返回类&#xff1a;用于返回数据&#xff08;而…

Docker化性能监控平台搭建:JMeter+InfluxDB+Grafana全攻略

你作为一名DevOps工程师或测试专家&#xff0c;正在监控一个高并发微服务系统&#xff1a;突发流量峰值导致响应延迟&#xff0c;服务器CPU飙升&#xff0c;但你只能手动查看日志&#xff0c;优化起来像大海捞针。这时&#xff0c;DockerJMeterInfluxDBGrafana的“梦幻四重奏”…

Adobe Acrobat 中通过 JavaScript 调用 Web 服务

强大的JavaScript支持&#xff0c;允许用户通过脚本自动化处理PDF文档。本文将详细介绍如何在Adobe Acrobat环境中使用JavaScript调用Web服务&#xff0c;包括基础概念、实现方法、代码示例以及常见问题解决方案。 第一部分&#xff1a;基础概念与技术背景 1.1 Acrobat JavaScr…

SpringCloud OpenFeign 远程调用(RPC)(三)

目录 1 概念导入 2 添加依赖 3 在启动类上添加注解 4 编写对应的接口 5 注入并调用 6 日志 7 超时控制 8 超时重试 9 拦截器 10 Fallback兜底 1 概念导入 Spring Cloud OpenFeign Features :: Spring Cloud Openfeign 2 添加依赖 <!-- 远程调用 --><depen…

【Flask】测试平台开发,登陆重构

概述我们在开篇的时候实现了简单的登陆功能&#xff0c;也实现了一个前后端联调的登陆功能&#xff0c;但是你有没有发现&#xff0c;那个登陆只是一个简单的登陆&#xff0c;且密码在接口返回的过程中是铭文密码&#xff0c;在生产环境中使用肯定是不行的&#xff0c;一般密码…

【Bluedroid】A2DP Source设备音频数据读取机制分析(btif_a2dp_source_read_callback)

本文聚焦Android 蓝牙 A2DP Source设备的音频数据读取核心逻辑,深入解析关键回调函数btif_a2dp_source_read_callback的功能实现,包括从 HAL(硬件抽象层,支持 HIDL/AIDL 两种传输方式)或 UIPC(用户空间进程间通信)获取音频数据的路径选择机制,以及数据下溢(Underflow)…