签到成功

知道了

CNDBA社区CNDBA社区

TDSQL 集群 组件升级(mysql / agent / proxy) 操作手册

2021-07-28 19:35 129 0 原创 TDSQL
作者: Dave

1 TDSQL 集群的组件升级说明

在之前的博客我们已经了解了TDSQL 的集群组件架构,如下:

TDSQL 架构 组件 说明
https://www.cndba.cn/dave/article/4586

对这些组件升级影响TDSQL 集群的主要是Proxy 和 mysql。 其他组件的升级是没有影响的。

组件的升级涉及2个目录:

  1. DB服务器公共目录:数据库程序包,包括proxy、mysql、agent。
  2. 分离目录(运行目录):数据库实例实际运行的目录,在实例购买的时候从公共目录复制的。

实例升级,通常通过水平扩容的方式升级,路由切换过程中,对业务有秒级只读影响。升级对于每个单实例需要单独的进行操作。

组件升级步骤如下:

  1. 备份原程序文件和配置文件
  2. 更新程序文件
  3. 修改配置文件(合并原配置)
  4. 重启进程(停止原进程,用新bin启动进程)

TDSQL 集群 各模块启停命令 汇总
https://www.cndba.cn/dave/article/4602

下面就看mysql、agent、proxy的具体升级过程。

2 DB节点公共目录升级(使用普通账号tdsql升级)

公共目录是在我们配置赤兔平台时指定的,如下图, 我们这里关注公共目录的三个组件:mysql、agent、proxy。
https://www.cndba.cn/dave/article/4625

公共目录的升级比较简单,有如下四步:https://www.cndba.cn/dave/article/4625

  1. 确认公共目录路径(/data/home/tdsql/tdsqlinstall/)
  2. 备份原程序
  3. 将更新包推送到公共目录
  4. 解压新包

我们看具体操作一个节点的操作,其他节点操作一样。

[dave@www.cndba.cn 1 tdsqlinstall]# pwd
/data/home/tdsql/tdsqlinstall
[dave@www.cndba.cn 1 tdsqlinstall]# ls
cgroup                           jdk-7u67-linux-x64.rpm  srmnew
gateway                          log                     tool
install                          lvsenv                  uninstall_single_proxy
install_all_proxy.sh             mariadb-10.1.9          uninstall_single_proxy.sh
install.log                      mysqlagent              uninstall_single_tdsql
install_single_proxy             oc_pull_mysqld.sh       uninstall_single_tdsql_noproxy.sh
install_single_proxy.sh          percona-5.7.17          uninstall_single_tdsql.sh
install_single_tdsql_noproxy.sh  percona-5.7.17.rocks    update-db-node(mysql,agent,proxy).zip
install_single_tdsql.sh          pkg.sh
install_tdsql_zkparam            runtime.err

[dave@www.cndba.cn 1 tdsqlinstall]# mv gateway gateway_bak_`date +%F`
[dave@www.cndba.cn 1 tdsqlinstall]# mv percona-5.7.17 percona-5.7.17_bak_`date +%F`
[dave@www.cndba.cn 1 tdsqlinstall]# mv mysqlagent mysqlagent_bak_`date +%F`


[dave@www.cndba.cn 1 tdsqlinstall]# ls
cgroup                           jdk-7u67-linux-x64.rpm         srmnew
gateway_bak_2021-07-28           log                            tool
install                          lvsenv                         uninstall_single_proxy
install_all_proxy.sh             mariadb-10.1.9                 uninstall_single_proxy.sh
install.log                      mysqlagent_bak_2021-07-28      uninstall_single_tdsql
install_single_proxy             oc_pull_mysqld.sh              uninstall_single_tdsql_noproxy.sh
install_single_proxy.sh          percona-5.7.17_bak_2021-07-28  uninstall_single_tdsql.sh
install_single_tdsql_noproxy.sh  percona-5.7.17.rocks           update-db-node(mysql,agent,proxy).zip
install_single_tdsql.sh          pkg.sh
install_tdsql_zkparam            runtime.err
[dave@www.cndba.cn 1 tdsqlinstall]#

[dave@www.cndba.cn 1 tdsqlinstall]# unzip update-db-node(mysql,agent,proxy).zip

[dave@www.cndba.cn 1 tdsqlinstall]# mv gateway-1.14.4-M-V2R514D006 gateway
[dave@www.cndba.cn 1 tdsqlinstall]# mv percona-5.7.17-V2.0R541D002-20200219-2204-log percona-5.7.17
[dave@www.cndba.cn 1 tdsqlinstall]# mv mysqlagent-YUN13.34 mysqlagent
[dave@www.cndba.cn 1 tdsqlinstall]#

3 单实例mysql升级(使用普通账号tdsql升级)

在TDSQL 集群中可能有很多的实例,每个实例的目录都不一样,所以升级需要对每个实例分别进行。 我们这里只演示一个实例的升级。

升级步骤如下:

  1. 先依次升级两个备DB,每次升级一个。
  2. 升级后,确认同步延迟正常(5秒内)。
  3. 最后,做一次主备切换,再升级原主DB。 

影响:
主备切换过程中,业务有几秒只读影响,并清理当前主DB上的连接。

先在赤兔平台查看实例的信息:

我们这里先从192.168.31.62:4011 开始升级。https://www.cndba.cn/dave/article/4625

[dave@www.cndba.cn 2 4011]# su - tdsql
[dave@www.cndba.cn 2 ~]$ cd /data/tdsql_run/4011
[dave@www.cndba.cn 2 4011]$ ll
total 4
drwxr-xr-x.  2 tdsql users   6 Jul 28 15:44 log
drwxr-xr-x.  7 tdsql users  63 Jul 28 15:44 mysqlagent
-rwxr-xr-x.  1 tdsql users 746 Jul 28 15:44 oc_pull_mysqld.sh
drwxr-xr-x. 14 tdsql users 207 Jul 28 15:44 percona-5.7.17
[dave@www.cndba.cn 2 4011]$

注意这里需要从旧目录复制配置文件:

[dave@www.cndba.cn 2 4011]$ mv percona-5.7.17 percona-5.7.17_bak

[dave@www.cndba.cn 2 4011]$ cp -r /data/home/tdsql/tdsqlinstall/percona-5.7.17/ .

[dave@www.cndba.cn 2 4011]$ cp -r percona-5.7.17_bak/etc/ percona-5.7.17/

[dave@www.cndba.cn 2 4011]$ cd percona-5.7.17

[dave@www.cndba.cn 3 install]$ chmod a+x *

[dave@www.cndba.cn 3 install]$ chmod a+x tool/*

[dave@www.cndba.cn 3 install]$ cd ..
[dave@www.cndba.cn 3 percona-5.7.17]$ chmod a+x bin/*

重启mysql:

[dave@www.cndba.cn 2 4011]$ cd percona-5.7.17/install/
[dave@www.cndba.cn 2 install]$ ./restartmysql_cgroup.sh 4011

mysqladmin: [Warning] Using a password on the command line interface can be insecure.
ps -ef | grep bin/mysqld | grep -v vim | grep -v grep | grep -v defunct | grep -- 'my_4011.cnf' | awk '{print $2}' | head -n 1
mysqld is running,count:0.
mysqld is running,count:1.
mysqld is stoped
sh: ./initcgrouphierarchy.sh: No such file or directory
hierarchy is empty,after guess is:/sys/fs/cgroup
nohup: redirecting stderr to stdout
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data1/tdengine/data/4011/prod/mysql.sock' (2)
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data1/tdengine/data/4011/prod/mysql.sock' (2)
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data1/tdengine/data/4011/prod/mysql.sock' (2)
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------------+
| now()               |
+---------------------+
| 2021-07-28 18:47:51 |
+---------------------+
+------------------------------------------+
| version()                                |
+------------------------------------------+
| 5.7.17-11-V2.0R541D002-20200219-2204-log |
+------------------------------------------+
[dave@www.cndba.cn 2 install]$

这里显示版本已经升级成功了,在赤兔平台查询也正常。

192.168.31.63:4011 节点操作和62的操作一致。 这里不再演示。

两个备库操作完整之后,在赤兔平台进行一次主备的切换。然后执行之前重复的操作:

最终所有节点版本如下:
https://www.cndba.cn/dave/article/4625

4 单实例agent升级(使用普通账号tdsql升级)

虽然mysql和agent 是在同一个目录下,但是他们的操作方式有所区别,所有分开来讲。 https://www.cndba.cn/dave/article/4625

mysqlagent 升级步骤如下:

  1. 升级前,先通过实例详情页设置实例免切。
  2. 升级后,确认DB上报的各项指标值正常。
  3. 将实例免切状态删除。

升级agent对业务无影响,但会影响监控数据上报,切记要设置实例免切,避免触发切换。

还是使用上节升级mysql的实例进行操作:

先设置免切:
https://www.cndba.cn/dave/article/4625

依次在3个节点上更换agent 软件,这里没有主备之分。 这里演示一台操作如下:https://www.cndba.cn/dave/article/4625

[dave@www.cndba.cn 1 4011]$ pwd
/data/tdsql_run/4011
[dave@www.cndba.cn 1 4011]$ ls
log  mysqlagent  oc_pull_mysqld.sh  percona-5.7.17  percona-5.7.17_bak

[dave@www.cndba.cn 1 4011]$ mv mysqlagent mysqlagent_bak

[dave@www.cndba.cn 1 4011]$ cp -rf /data/home/tdsql/tdsqlinstall/mysqlagent/ .

[dave@www.cndba.cn 1 4011]$ cp mysqlagent_bak/conf/* mysqlagent/conf/

[dave@www.cndba.cn 1 4011]$ cd mysqlagent/bin

[dave@www.cndba.cn 1 bin]$ chmod a+x *
[dave@www.cndba.cn 1 bin]$ ./restartreport_cgroup.sh ../conf/mysqlagent_4011.xml
stop mysqlreport success
start mysqlreport success
[dave@www.cndba.cn 1 bin]$

最终版本如下:

https://www.cndba.cn/dave/article/4625

最后在配置免切的地方删除免切设置。

https://www.cndba.cn/dave/article/4625

5 单实例proxy升级(使用普通账号tdsql升级)

proxy的升级和agent 操作类似, 依次升级一个proxy,升级后,确认访问通过升级proxy的正常。

https://www.cndba.cn/dave/article/4625

升级proxy的影响:proxy升级重启时,会清理当前的连接,部分业务请求有闪断。

还是以我们之前的实例为例:

进行如下操作:

[dave@www.cndba.cn 1 bin]$ cd /data/tdsql_run/15007
[dave@www.cndba.cn 1 15007]$ ls
gateway  log

[dave@www.cndba.cn 1 15007]$ mv gateway/ gateway_bak

[dave@www.cndba.cn 1 15007]$ cp -rf /data/home/tdsql/tdsqlinstall/gateway/ .

[dave@www.cndba.cn 1 15007]$ cp gateway_bak/conf/* gateway/conf/

[dave@www.cndba.cn 1 15007]$ cd gateway/bin

[dave@www.cndba.cn 1 bin]$ chmod a+x *

[dave@www.cndba.cn 1 bin]$ ./restart_cgroup.sh instance_15007

最终版本如下:

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1902
    原创
  • 2
    翻译
  • 456
    转载
  • 131
    评论
  • 访问:3642024次
  • 积分:3137
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群