暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0045.D DorisDB大版本升级V2.0

rundba 2021-06-03
1327

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

0. ENV

0.1 升级版本

1.14.5到1.14.6属小版本升级,1.14.x到1.15.x属大版本升级。

本次以1.14.6升级到1.15.1大版本升级进行展示,原有版本1.14.6已经安装,需准备介质DorisDB-SE-1.51.1.tar.gz。

0.2 升级说明

  • DorisDB可以通过滚动升级的方式,平滑进行升级。升级顺序是先升级BE,然后再升级FE,最后升级Broker。

  • DorisDB保证BE后向兼容FE,升级的过程可以分为:测试升级的正确性,滚动升级,观察服务。

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

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

1. 升级前确认

1) 升级前版本查看

fe版本查看:

    [root@doris01 ~]# show_fe_version.sh
    Commit hash: d20a24b
    Build type: UNKNOWN
    Build time: 2021-04-13 14:36:48
    Build user: jenkins@doris-sandbox07
    Java compile version: java full version "1.8.0_202-b08"

    be版本查看:

      [root@doris01 ~]# show_be_version.sh
      1.14.6 UNKNOWN (build d20a24b)
      Built on 2021-04-13 14:23:15 by jenkins@doris-sandbox07

      2) 升级前进程确认

      mysql中查看各服务状态:

        [root@doris01 ~]# mysql -h 127.0.0.1 -P9030 -uroot
        mysql> show PROC '/frontends';
        mysql> show proc '/backends'\G
        mysql> show proc '/brokers';

        JAVA进程查看:

          [root@doris1 ~]# jps
          25670 DorisDbFe
          6574 Jps
            [root@doris2 ~]# jps
            14967 Jps
            20399 DorisDbFe
              [root@doris3 ~]# jps
              27572 Jps
              12007 BrokerBootstrap

              3) 解压1.15.1升级包

                [root@doris01 ~]# tar -zxvf soft/DorisDB-SE-1.15.1.tar.gz -C root/

                2. BE升级

                采用滚动升级,逐个升级BE。BE不区分先后。

                以节点doris01为例

                1) 停止be

                  [root@doris01 ~]# dorisdb/be/bin/stop_be.sh --daemon

                  2) 确保进程已停止

                    [root@doris01 ~]# ps -ef |grep dorisdb/be | grep -v grep

                    3) 备份BE的3个目录

                    备份bin、lib、www,配置文件conf目录和数据目录storage不变

                      [root@doris01 ~]# cd dorisdb/be/
                      [root@doris01 ~]# mv bin bin.1.14.6
                      [root@doris01 ~]# mv lib lib.1.14.6
                      [root@doris01 ~]# mv www www.1.14.6

                      4) 升级BE

                      查看当前路径

                        [root@doris01 be]# pwd
                        /dorisdb/be

                        升级文件替换

                          [root@doris01 be]# cp -af root/DorisDB-SE-1.15.1/be/bin .
                          [root@doris01 be]# cp -af root/DorisDB-SE-1.15.1/be/lib .
                          [root@doris01 be]# cp -af root/DorisDB-SE-1.15.1/be/www .

                          OR

                            [root@doris01 be]# mv root/DorisDB-SE-1.15.1/be/bin .
                            [root@doris01 be]# mv root/DorisDB-SE-1.15.1/be/lib .
                            [root@doris01 be]# mv root/DorisDB-SE-1.15.1/be/www .

                            5) 确认权限为1007:1007

                              [root@doris01 be]# pwd
                              /dorisdb/be
                              [root@doris01 be]# ls -ld bin lib www
                              drwxr-xr-x 2 1007 1007 86 May 20 22:05 bin
                              drwxr-xr-x 4 1007 1007 66 May 20 22:05 lib
                              drwxr-xr-x 3 1007 1007 234 May 20 22:05 www

                              否则,进行更改

                                [root@doris01 ~]# chown 1007:1007 dorisdb/be/lib/dorisdb_be

                                6) 启动be

                                  [root@doris01 ~]# dorisdb/be/bin/start_be.sh --daemon

                                  7) 查看进程

                                    [root@doris01 be]# ps -ef | grep dorisdb/be | grep -v grep
                                    root 4398 1 2 22:27 pts/1 00:00:00 dorisdb/be/lib/dorisdb_be

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

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

                                      9) 同样逐个升级doris02、doris03节点的BE。

                                      10) 运行正常情况下,删除备份内容

                                        [root@doris01 be]# rm -rf bin.1.14.6
                                        [root@doris01 be]# rm -rf lib.1.14.6
                                        [root@doris01 be]# rm -rf www.1.14.6

                                        3. FE升级

                                        采用滚动升级,逐个升级FE。FE先升级FOLLOWER,最后升级Master。

                                        FE升级的目录webroot、spark-dpp、lib、bin,配置目录conf一般不做调整,doris-meta为元数据目录。

                                        以节点doris02为例,进行升级。

                                        1) 停止FE

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

                                          2) 确保进程已停止

                                            [root@doris02 ~]# jps
                                            7068 Jps

                                            3) 备份FE

                                            进入升级路径:

                                              [root@doris02 ~]# cd dorisdb/fe
                                              [root@doris02 fe]# pwd
                                              /dorisdb/fe

                                              升级文件替换:

                                                [root@doris02 fe]# mv webroot webroot.1.14.6
                                                [root@doris02 fe]# mv spark-dpp spark-dpp.1.14.6
                                                [root@doris02 fe]# mv lib lib.1.14.6
                                                [root@doris02 fe]# mv bin bin.1.14.6

                                                4) 升级FE

                                                查看当前路径

                                                  [root@doris02 fe]# pwd
                                                  /dorisdb/fe

                                                  复制升级文件

                                                    [root@doris02 fe]# cp -af root/DorisDB-SE-1.15.1/fe/webroot .
                                                    [root@doris02 fe]# cp -af root/DorisDB-SE-1.15.1/fe/spark-dpp .
                                                    [root@doris02 fe]# cp -af root/DorisDB-SE-1.15.1/fe/lib .
                                                    [root@doris02 fe]# cp -af root/DorisDB-SE-1.15.1/fe/bin .

                                                    OR

                                                      [root@doris02 fe]# mv root/DorisDB-SE-1.15.1/fe/webroot .
                                                      [root@doris02 fe]# mv root/DorisDB-SE-1.15.1/fe/spark-dpp .
                                                      [root@doris02 fe]# mv root/DorisDB-SE-1.15.1/fe/lib .
                                                      [root@doris02 fe]# mv root/DorisDB-SE-1.15.1/fe/bin .

                                                      5) 查看属主和属组1007:1007

                                                        [root@doris02 fe]# ls -ld webroot
                                                        [root@doris02 fe]# ls -ld spark-dpp
                                                        [root@doris02 fe]# ls -ld lib
                                                        [root@doris02 fe]# ls -ld bin

                                                        6) 如果属主和属组异常则进行更改

                                                          [root@doris02 ~]# chown 1007:1007 dorisdb/fe/lib

                                                          7) 启动fe

                                                          启动fe

                                                            [root@doris02 ~]# dorisdb/fe/bin/start_fe.sh --daemon

                                                            查看进程

                                                              [root@doris02 fe]# jps
                                                              5345 DorisDbFe

                                                              8) 查看be升级后版本

                                                              通过发布版本时间查看,当前已升级成功。

                                                                [root@doris02 fe]# dorisdb/fe/bin/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"

                                                                9) 查看角色进程

                                                                  mysql> show proc '/frontends';

                                                                  10) 同样,升级其它FE节点,如doris01。

                                                                  11) 运行正常情况下,删除备份内容

                                                                    [root@doris02 fe]# rm -rf webroot.1.14.6
                                                                    [root@doris02 fe]# rm -rf spark-dpp.1.14.6
                                                                    [root@doris02 fe]# rm -rf lib.1.14.6
                                                                    [root@doris02 fe]# rm -rf bin.1.14.6

                                                                    4. broker升级

                                                                    broker作为辅助功能,在未使用该组件时,停止Broker服务,替换响应文件。

                                                                    当前节点doris03为例,进行broker升级。

                                                                    1) 停止broker

                                                                      [root@doris03 ~]# /dorisdb/apache_hdfs_broker/bin/stop_broker.sh
                                                                      stop java, and remove pid file.


                                                                      2) 确保进程已停止

                                                                        [root@doris03 ~]# jps
                                                                        4356 Jps


                                                                        3) 备份FE

                                                                        进入目录

                                                                          [root@doris03 ~]# cd /dorisdb/apache_hdfs_broker
                                                                          [root@doris03 apache_hdfs_broker]# pwd
                                                                          /dorisdb/apache_hdfs_broker

                                                                          备份

                                                                            [root@doris03 apache_hdfs_broker]# mv lib lib.1.14.6
                                                                            [root@doris03 apache_hdfs_broker]# mv bin bin.1.14.6


                                                                            4) 升级broker

                                                                              [root@doris03 apache_hdfs_broker]# pwd
                                                                              /dorisdb/apache_hdfs_broker

                                                                              升级:

                                                                                [root@doris03 apache_hdfs_broker]# cp -af /root/DorisDB-SE-1.15.1/apache_hdfs_broker/lib .
                                                                                [root@doris03 apache_hdfs_broker]# cp -af /root/DorisDB-SE-1.15.1/apache_hdfs_broker/bin .

                                                                                OR

                                                                                  [root@doris03 apache_hdfs_broker]# mv /root/DorisDB-SE-1.15.1/apache_hdfs_broker/lib .
                                                                                  [root@doris03 apache_hdfs_broker]# mv /root/DorisDB-SE-1.15.1/apache_hdfs_broker/bin .


                                                                                  5) 确认属主和属组(1007:1007)

                                                                                    [root@doris03 apache_hdfs_broker]# ls -ld lib
                                                                                    [root@doris03 apache_hdfs_broker]# ls -ld bin


                                                                                    如果属主和属组异常则进行更改,如

                                                                                      [root@doris03 apache_hdfs_broker]#  chown 1007:1007 /dorisdb/apache_hdfs_broker/lib


                                                                                      6) 启动broker

                                                                                        [root@doris03 apache_hdfs_broker]# /dorisdb/apache_hdfs_broker/bin/start_broker.sh --daemon


                                                                                        7) 查看进程

                                                                                          [root@doris03 apache_hdfs_broker]# jps
                                                                                          4545 Jps
                                                                                          4527 BrokerBootstrap


                                                                                          8) 查看服务

                                                                                            mysql> show proc '/brokers';


                                                                                            9) 运行正常情况下,删除备份内容

                                                                                              [root@doris03 apache_hdfs_broker]# rm -rf lib.1.14.6
                                                                                              [root@doris03 apache_hdfs_broker]# rm -rf bin.1.14.6

                                                                                              注:broker无查看版本命令。


                                                                                              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. 登录测试

                                                                                                  1.15.1本机登录时,需要提供密码,1.15.1之前版本,本机登录不需要密码。

                                                                                                    [root@doris1 ~]# mysql -h192.168.80.71 -P9030 -uroot -p******
                                                                                                    mysql: [Warning] Using a password on the command line interface can be insecure.
                                                                                                    Welcome to the MySQL monitor. Commands end with ; or \g.
                                                                                                    Your MySQL connection id is 15
                                                                                                    Server version: 5.1.0 DorisDB version 1.15.1




                                                                                                    Copyright (c) 2000, 2021, Oracle and/or its affiliates.




                                                                                                    Oracle is a registered trademark of Oracle Corporation and/or its
                                                                                                    affiliates. Other names may be trademarks of their respective
                                                                                                    owners.




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




                                                                                                    mysql> exit


                                                                                                    7. 小结

                                                                                                    本文从DorisDB1.14.6升级到DorisDB1.15.1,采用滚动方式升级BE、FE、Broker,完成DorisDB大版本升级,修复bug,提升功能,解决部分OOM问题。

                                                                                                    --  完  --

                                                                                                    作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。

                                                                                                    如需公众号转发,请联系wx:landnow。




                                                                                                    长按二维码                                    

                                                                                                          加入>>西安ORACLE用户组

                                                                                                           

                                                                                                       请注明:来自rundba,申请加入西安ORACLE用户组                 

                                                                                                                 


                                                                                                    文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                                                    评论