最近发布了 2.3.1,准备升级一下现在测试环境的 2.3.0,整理个文档,加深一下印象
升级版本目标: 2.3.0 --> 2.3.1

现有集群

当前集群,三台服务器,每台机都有 fe/be/broker
版本:2.3.0

ip fe be broker
228
229
230

部署目录:

# 软件包
[starrocks@node230 opt]$ ls /opt/StarRocks/
005  apache_hdfs_broker  be  fe

# 元数据目录
[starrocks@node230 opt]$ ls /data/starrocks/fe/
log  meta

# 数据目录
[starrocks@node230 opt]$ ls /data/starrocks/be/
log  storage

官网步骤

升级集群

  • 由于 StarRocks 保证 BE 后向兼容 FE,因此您需要先升级 BE 节点,再升级 FE 节点。错误的升级顺序可能导致新旧 FE、BE 节点不兼容,进而导致 BE 节点停止服务。

升级 BE 节点

  1. 选择任意一个 BE 节点,替换新版本 /lib/starrocks_be 文件。
  2. 重启该 BE 节点,通过 BE 日志 be.INFO 查看是否启动成功。
  3. 如果该 BE 节点启动失败,您可以可以先排查失败原因。如果错误不可恢复,您可以直接通过 DROP BACKEND 删除该 BE、清理数据后,使用上一个版本的 starrocks_be 重新启动该 BE 节点。然后通过 ADD BACKEND 重新添加 BE 节点。
  • 警告:该方法会导致系统丢失一个数据副本,请务必确保 3 副本完整的情况下执行这个操作。
[starrocks@node230 ~]$ cd /opt/StarRocks/be/lib/
[starrocks@node230 lib]$ ls
hadoop  jdbc_drivers  jvm  small_file  starrocks_be  starrocks-jdbc-bridge-jar-with-dependencies.jar  udf  udf-extensions-jar-with-dependencies.jar  udf-runtime
[starrocks@node230 lib]$ mv starrocks_be starrocks_be_230
[starrocks@node230 lib]$ mv ~/starrocks_be .
[starrocks@node230 lib]$ cd ../bin/
[starrocks@node230 bin]$ sh stop_be.sh 
[starrocks@node230 bin]$ sh start_be.sh --daemon

be.INFO 日志太多了,也没看到异常,用mysql client 登录后台查看,be 节点存活,Version 变为 2.3.1-fe5d830


[starrocks@node230 bin]$  mysql -uroot -P29030 -h node230 -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 492
Server version: 5.1.0 StarRocks version 2.3.0

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> SHOW PROC "/backends"\G
*************************** 1. row ***************************
            BackendId: 10004
              Cluster: default_cluster
                   IP: xx.xx.xx.230
        HeartbeatPort: 29050
               BePort: 29060
             HttpPort: 28040
             BrpcPort: 28060
        LastStartTime: 2022-08-01 10:04:48
        LastHeartbeat: NULL
                Alive: true
 SystemDecommissioned: false
ClusterDecommissioned: false
            TabletNum: 10132
     DataUsedCapacity: .000 
        AvailCapacity: 259.031 GB
        TotalCapacity: 492.027 GB
              UsedPct: 47.35 %
       MaxDiskUsedPct: 47.35 %
               ErrMsg: 
              Version: 2.3.1-fe5d830
               Status: {"lastSuccessReportTabletsTime":"N/A"}
    DataTotalCapacity: 259.031 GB
          DataUsedPct: 0.00 %
             CpuCores: 16

.... 忽略其他节点...

其他节点升级步骤相同

升级 FE 节点

这是测试环境,直接升 fe,坏了也没什么关系

先找到 Follower 节点

MySQL [(none)]> SHOW PROC "/frontends"\G
*************************** 1. row ***************************
             Name: xx.xx.xx.230_29010_1659319422586
               IP: xx.xx.xx.230
      EditLogPort: 29010
         HttpPort: 28030
        QueryPort: 29030
          RpcPort: 29020
             Role: FOLLOWER
         IsMaster: false
        ClusterId: 722458904
             Join: true
            Alive: true
ReplayedJournalId: 631465
    LastHeartbeat: NULL
         IsHelper: true
           ErrMsg: 
        StartTime: 2022-08-12 11:26:31
          Version: 2.3.0-a9bdb09
*************************** 2. row ***************************
             Name: xx.xx.xx.228_29010_1659319382613
               IP: xx.xx.xx.228
      EditLogPort: 29010
         HttpPort: 28030
        QueryPort: 29030
          RpcPort: 29020
             Role: FOLLOWER
         IsMaster: false
        ClusterId: 722458904
             Join: true
            Alive: true
ReplayedJournalId: 631464
    LastHeartbeat: NULL
         IsHelper: true
           ErrMsg: 
        StartTime: 2022-08-12 11:26:19
          Version: 2.3.0-a9bdb09
*************************** 3. row ***************************
             Name: xx.xx.xx.229_29010_1659319401572
               IP: xx.xx.xx.229
      EditLogPort: 29010
         HttpPort: 28030
        QueryPort: 29030
          RpcPort: 29020
             Role: FOLLOWER
         IsMaster: true
        ClusterId: 722458904
             Join: true
            Alive: true
ReplayedJournalId: 631464
    LastHeartbeat: NULL
         IsHelper: true
           ErrMsg: 
        StartTime: 2022-08-12 11:26:19
          Version: 2.3.0-a9bdb09
3 rows in set (0.02 sec)


229 是 master, 228,230 是 Follower, 那就升级 230 了

[starrocks@node230 ~]$ cd /opt/StarRocks/fe/
[starrocks@node230 fe]$ ls
[starrocks@node230 fe]$ cd lib/
[starrocks@node230 lib]$ ls starrocks-fe.jar 
starrocks-fe.jar
[starrocks@node230 lib]$ mv starrocks-fe.jar ../starrocks_fe.jar_230
[starrocks@node230 lib]$ mv ~/starrocks-fe.jar .
[starrocks@node230 lib]$ cd ../bin/
[starrocks@node230 bin]$ ls
common.sh  fe.pid  show_fe_version.sh  start_fe.sh  stop_fe.sh
[starrocks@node230 bin]$ ./stop_fe.sh 
waiting fe to stop, pid: 8962
stop java, and remove pid file. 
[starrocks@node230 bin]$ ./start_fe.sh --daemon

  • 注:由于 mysql client 连的就是 230,fe 重启后 client 退出,重新登录
MySQL [(none)]> SHOW PROC "/frontends"\G
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2003 (HY000): Can't connect to MySQL server on 'node230' (111)
ERROR: Can't connect to the server

unknown [(none)]> 
unknown [(none)]> exit
Bye

MySQL [(none)]> SHOW PROC "/frontends"\G
*************************** 1. row ***************************
             Name: xx.xx.xx.230_29010_1659319422586
               IP: xx.xx.xx.230
      EditLogPort: 29010
         HttpPort: 28030
        QueryPort: 29030
          RpcPort: 29020
             Role: FOLLOWER
         IsMaster: false
        ClusterId: 722458904
             Join: true
            Alive: true
ReplayedJournalId: 631515
    LastHeartbeat: NULL
         IsHelper: true
           ErrMsg: 
        StartTime: 2022-08-25 16:48:08
          Version: 2.3.1-fe5d830

可以看到 230 节点 Version 已经变为: 2.3.1-fe5d830,继续升级 228 Follower

升级 fe master

master 停止后,就可以看到 master 发生了切换,从 229 切换到 230 了

MySQL [(none)]> SHOW PROC "/frontends"\G
*************************** 1. row ***************************
             Name: xx.xx.xx.230_29010_1659319422586
               IP: xx.xx.xx.230

             Role: FOLLOWER
         IsMaster: true      # master 切换为 230
        ClusterId: 722458904
             Join: true
            Alive: true

          Version: 2.3.1-fe5d830
*************************** 2. row ***************************
             Name: xx.xx.xx.228_29010_1659319382613
               IP: xx.xx.xx.228

             Role: FOLLOWER
         IsMaster: false
        ClusterId: 722458904
             Join: true
            Alive: true

          Version: 2.3.1-fe5d830
*************************** 3. row ***************************
             Name: xx.xx.xx.229_29010_1659319401572
               IP: xx.xx.xx.229

             Role: FOLLOWER
         IsMaster: false
        ClusterId: 722458904
             Join: true
            Alive: true

          Version: 2.3.1-fe5d830
3 rows in set (0.02 sec)

升级 Broker

broker 不涉及元数据和数据,直接升级即可

MySQL [(none)]> SHOW PROC "/brokers"\G
*************************** 1. row ***************************
          Name: broker_name
            IP: xx.xx.xx.228
          Port: 8000
         Alive: true
 LastStartTime: NULL
LastUpdateTime: 2022-08-25 17:17:15
        ErrMsg: 
*************************** 2. row ***************************
          Name: broker_name
            IP: xx.xx.xx.229
          Port: 8000
         Alive: true
 LastStartTime: NULL
LastUpdateTime: 2022-08-25 17:17:15
        ErrMsg: 
*************************** 3. row ***************************
          Name: broker_name
            IP: xx.xx.xx.230
          Port: 8000
         Alive: true
 LastStartTime: NULL
LastUpdateTime: 2022-08-25 17:17:15
        ErrMsg: 
3 rows in set (0.00 sec)

欢迎关注Flink菜鸟公众号,会不定期更新Flink(开发技术)相关的推文

posted on 2022-09-05 09:28  Flink菜鸟  阅读(501)  评论(0编辑  收藏  举报