热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

0047.SStarRocks小版本升级

StarRocks可以通过滚动升级的方式,平滑进行升级。升级顺序是先升级BE,然后再升级FE,最后升级Broker。FE升级切换会有短暂业务中断,可采用硬件负载均衡、DNS轮询、j

StarRocks可以通过滚动升级的方式,平滑进行升级。升级顺序是先升级BE,然后再升级FE,最后升级Broker。FE升级切换会有短暂业务中断,可采用硬件负载均衡如F5、软件负载均衡如nginx、DNS轮询、jdbc连接串轮询、LVS、keeplive等多种方式实现平滑升级。





0. ENV



0.1 升级版本

1.15.1到1.15.2属小版本升级,1.14.x到1.15.x属大版本升级

  • StarRocks-SE-1.15.1.tar.gz

  • StarRocks-SE-1.15.2.tar.gz


0.2 升级说明

  • StarRocks可以通过滚动升级的方式,平滑进行升级。升级顺序是先升级BE,然后再升级FE。StarRocks保证BE后向兼容FE。升级的过程可以分为:测试升级的正确性,滚动升级,观察服务。

  • 如果是大版本升级,则需要升级其他文件(包括但不限于bin/ lib/等等)如果您不清楚是否需要替换其他文件,建议全部替换即可,但需要保留配置文件、数据文件。

  • 通常小版本升级,BE只需升级starrocks_be,而FE只需升级starrocks-fe.jar,本次为小版本升级,Broker不需要升级。




1. 升级步骤



解压需要升级的文件starrocks_be和starrocks-fe.jar

[root@sr1 ~]# tar zxvf soft/StarRocks-SE-1.15.2.tar.gz StarRocks-SE-1.15.2/be/lib/starrocks_be
[root@sr1 ~]# tar zxvf soft/StarRocks-SE-1.15.2.tar.gz StarRocks-SE-1.15.2/fe/lib/starrocks-fe.jar




2. 升级前版本查看


查看fe版本:

[root@sr01 ~]# show_fe_version.sh
Commit hash: 6fb71ad
Build type: RELEASE
Build time: 2021-05-20 22:02:49
Build user: jenkins@ci01
Java compile version: java full version "1.8.0_202-b08"

查看be版本:

[root@sr01 ~]# show_be_version.sh
1.15.1 RELEASE (build 6fb71ad)
Built on 2021-05-20 21:54:06 by jenkins@ci01




3. BE升级



采用滚动升级,逐个升级BE。BE不区分先后,以节点sr01为例。


1) 停止be

[root@sr01 ~]# starrocks/be/bin/stop_be.sh --daemon


2) 确保进程已停止

[root@sr01 ~]# ps -ef |grep be
root       4202   1969  0 23:54 pts/0    00:00:00 grep --color=auto be


3) 备份BE

[root@sr01 ~]# mv starrocks/be/lib/starrocks_be starrocks/be/lib/starrocks_be.1.15.1


4) 升级BE

[root@sr01 ~]# cp -af StarRocks-SE-1.15.2/be/lib/starrocks_be starrocks/be/lib/


5) 确认权限(1007:1007)

[root@sr01 ~]# ls -lrt starrocks/be/lib/starrocks_be*
-rwxr-xr-x. 1 1007 1007 1240089360 Mar 30 23:54 starrocks/be/lib/starrocks_be.1.15.1
-rwxr-xr-x  1 1007 1007 1240128152 Apr 27 23:55 starrocks/be/lib/starrocks_be


6) 启动be

[root@sr01 ~]# starrocks/be/bin/start_be.sh --daemon


7) 确认版本-当前已升级成功

[root@sr01 ~]# starrocks/be/bin/show_be_version.sh
1.15.2 RELEASE (build 673a01e)
Built on 2021-06-01 15:43:51 by jenkins@ci01


8) 同样逐个升级sr02、sr03节点的BE


9)运行正常后,清理备份

[root@sr01 ~]# rm -f starrocks/be/lib/starrocks_be.1.15.1




4. FE升级



采用滚动升级,逐个升级FE。FE先升级FOLLOWER,最后升级Master,以节点sr02为例。


1) 停止FE

[root@sr02 ~]# /starrocks/fe/bin/stop_fe.sh --daemon
stop java, and remove pid file.


2) 确保进程已停止

[root@sr02 ~]# jps
7068 Jps


3) 备份FE

[root@sr02 ~]# mv /starrocks/fe/lib/starrocks-fe.jar /starrocks/fe/lib/starrocks-fe.jar.1.15.1


4) 升级BE

[root@sr02 ~]# cp -af StarRocks-SE-1.15.2/fe/lib/starrocks-fe.jar /starrocks/fe/lib/


5)确认属主和属组

[root@sr02 ~]# ll /starrocks/fe/lib/starrocks-fe.jar*
-rw-rw-r--  1 1007 1007 9738668 Apr 28 00:02 /starrocks/fe/lib/starrocks-fe.jar
-rw-rw-r--. 1 1007 1007 9738682 Mar 30 23:54 /starrocks/fe/lib/starrocks-fe.jar.1.15.1


6) 启动fe

[root@sr02 ~]# /starrocks/fe/bin/start_fe.sh --daemon


7) 升级后版本-当前已升级成功

[root@sr02 ~]# /starrocks/fe/bin/show_fe_version.sh
Commit hash: 673a01e
Build type: RELEASE
Build time: 2021-06-01 15:50:48
Build user: jenkins@ci01
Java compile version: java full version "1.8.0_202-b08"


8) 查看FE进程状态

mysql> show proc '/frontends';


9) 同样,升级其它FE节点,如sr01




5. 升级完成后验证



be http port默认为8040

http://192.168.80.31:8040/api/health
{"status": "OK","msg": "To Be Added"}


fe http port默认为8030

http://192.168.80.31:8030/api/bootstrap
输入root,密码为空

{"online_backend_num":1,"total_backend_num":3,"status":"OK"}



6. 小结



通过小版本升级展示,以StarRocks从1.15.1升级到1.15.2为例,修复bug,提升稳定性。


往期参考:0045.D StarRocks大版本升级








推荐阅读
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 架构设计:负载均衡层设计方案之负载场景和解决方式篇
    来自:JAVA入门中https:blog.csdn.netyinwenjiearticledetails46605451在上一篇《标准Web系统的架构分层》文章中&# ... [详细]
  • 【2021Java最新学习路线】开启mysql远程连接
    前言面试技巧另外开篇再说,先上面试干货吧。面试的题目并不一定有严格的顺序关系,有的是从前一个问题延伸而来,(探究的是一个知 ... [详细]
  • Nginx的TCP/UDP负载均衡是应用Stream代理模块(ngx_stream_proxy_module)和Stream上游模块(ngx_stream_upstream_mod ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • 一、生产服务器netstattcp连接状态 ... [详细]
  • 高可用架构_MySQL高可用架构设计
    文章来自于https:www.jianshu.compd3107bda2963PHP进阶学习交流QQ群:983229225Mysql复制功能介绍Mysql的复制功能提 ... [详细]
  • python项目python完整项目
    广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元ÿ ... [详细]
  • springcloud:微服务涉及哪些技术、有哪些核心组件(二)
    0.引言上一期我们介绍了什么是微服务,微服务的基础概念,那么本期我们来介绍一下微服务涉及的技术点以及所需要的组件1.微服务涉及哪些技术1.1、基础 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了架构文摘:消息队列设计精要相关的知识,希望对你有一定的参考价值。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 执行jenkins最简单的方法就是通过内置的Jetty的servlet容器。您可以执行jenkins是这样的:$java-jarjenkins.war当然,你可能想jenkins的 ... [详细]
  • 图解HashMap
    什么是HashMap,文章内HashMap源码主要来自Android7.0HashMap是开发中常用的一个类,那么他究竟是什么呢?HashMap是一个存储key-value的集合, ... [详细]
author-avatar
平和-3699
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有