ITPub博客

首页 > 数据库 > 国内数据库 > TDSQL—扩容增加zookeeper节点

TDSQL—扩容增加zookeeper节点

原创 国内数据库 作者:腾讯云数据库 时间:2020-12-11 17:44:33 0 删除 编辑


 

 

 

上图是TDSQL结构图,因部署高可用环境2机房增加到3机房时需要增加ZOOKEEPER节点的情形,比方说从3台增加到5台。具体操作方法,以及需要修改的配置文件我们可以参考以下方法:

 

首先 准备工作:

1、修改tdsql_host文件。增加新zk节点信息

2、在所有 TDSQL 集群服务器上增加host配置:vim /etc/hosts 添加要增加的zk服务器信息。

vi   /etc/hosts

172.21. 16.10   tdsql_host_zk1

172.21. 16.11   tdsql_host_zk 2

172.21. 16.12   tdsql_host_zk 3

 

#新增

172.21. 16.13   tdsql_host_zk 4

172.21. 16.14   tdsql_host_zk 5

 

 

一、   初始化新扩容的zk服务器

注意:新增单独服务器 zk扩容需要重新初始化,OS系统需要做时间同步、配置yum源、免密。(原有TDSQL集群扩容zk无需重新初始化)

      (1)登入ansible机器重新编辑一个tdsql_newzk文件添加新增zk服务器ip信息

        # cd /root/tdsql_install

        # cat  tdsql_newzk

          [tdsql_allmacforcheck]

          tdsql_mac 4  ansible_ssh_host=172.21. 16.13       #新增初始化zk ip1

          tdsql_mac 5  ansible_ssh_host=172.21. 16.14     #新增初始化zk ip2

       (2)后台初始化zk机器

         执行前确保新增的zk机器的时间和集群中其它机器的时间同步

         执行初始化新的zk机器

 # ansible-playbook -i  tdsql_newzk playbooks/tdsql_envcheck.yml

 

二、   将原zk信息先备份

zk备份的工具在scheduler的bin目录下,scheduler机器上执行:       cd /data/application/scheduler/bin

./backupZkInfo

验证备份成功:

在执行备份命令的 scheduler机器上执行:

# cd /data/zkbak/zkbackup/

# ll

 

三、   在新增zk节点服务器上创建目录

mkdir -p /data/application/ /data/tools/ /data/home/tdsql/

四、   在新增zk节点服务器上检查并安装JDK——已存在JDK忽略此步。

在已安装 zk服务器上找到目录/data/home/tdsql/jdk_x86.zip

scp jdk_x86.zip 172.21. 16.13 :/data/home/tdsql

scp jdk_x86.zip 172.21. 16.14 :/data/home/tdsql

 

在新 zk服务器上操作:

unzip jdk_x86.zip

chown -R tdsql:users /data/home/tdsql/jdk

chmod +x -R /data/home/tdsql/jdk

source /etc/profile

五、   在scheduler服务器上设置免切

cd /data/application/scheduler/bin/

./manual_set add_mnoswitch noshard all 1 24

# 查看免切设置是否成功,返回一个时间戳(免切到期时间)

./manual_set list_mnoswitch noshard all

或者登陆赤兔设置实例一切免切

 

六、   扩容zk服务器:

在已有 zk服务器上进入cd /data/application并找到zookeeper.tar.gz安装包

拷贝到新 zk服务器上。

scp zookeeper.tar.gz 172.21. 16.13 :/data/application

scp zookeeper.tar.gz 172.21. 16.14 :/data/application

解压安装包: tar -zxvf zookeeper.tar.gz

cd zookeeper   

mkdir data;mkdir log

七、   从已有zk服务器拷贝配置文件到新zk服务器上

scp /data/application/zookeeper/conf/zoo.cfg root@172.21. 16.13 :/data/application/zookeeper/conf/

scp /data/application/zookeeper/data/myid     root@ 172.21. 16.14 :/data/application/zookeeper/data/

 

八、   给新zk服务器zk目录添加权限

chown -R tdsql:users zookeeper

 

九、   检测配置文件里的数据路径和日志路径是否正确

grep "Dir" /data/application/zookeeper/conf/zoo.cfg

 

 

十、   修改myid和zoo.cfg文件

注意:在不用的节点上修改不同的 myid值,修改的zoo.cfg文件中的参数都是一样的。

在新 zk服务器上操作:

# cd /data/application/zookeeper/data/ 

# vim myid

将 原有值比如 3修改为4

保证几台 zookeeper   的myid 不一样

 

# cd /data/application/zookeeper/conf/    所有zookeeper都要修改

# vim zoo.cfg

 

#增加如下内容

server. 4 =tdsql_host_zk 4 :2338:2558  #其中 4 是节点myid ,tdsql_host_zk 4 是节点域名要一一对应

server. 5 =tdsql_host_zk 5 :2338:2558

加上新添加的 zk服务器信息。

注:集群内所有 zk服务器需要配置新zk信息。

 

 

十一、   启动新的zk服务,并查看进程和状态    (切记一定要先启动原有的zookeeper,可以先启动leader节点  ,再启动新增节点)

切换用户: su - tdsql

cd /data/application/zookeeper/bin/

./zkServer.sh start

./zkServer.sh status

ps -ef |grep zoo

 

使用如下命令查看集群各节点信息状态

echo stat |nc 172.21.16.1 3  2118  

 

十二、   全部完成并确认无误后,删除集群免切状态

cd /data/application/scheduler/bin/

./manual_set delete_mnoswitch noshard all

./manual_set list_mnoswitch noshard all

十三、   其他模块配置文件需要加入zk新增节点 配置  tdsql_host_zk 4 :2118,tdsql_host_zk 5 :2118

 

1、 OSS

# su - tdsql

# cd /data/application/oss/conf/ 

# vim scheduler.xml

# cd /data/application/oss/boot 

#./stop.sh

# ./start.sh

# ps -ef |grep oss

 

2、 scheduler

# su - tdsql

# cd /data/application/scheduler/conf/ 

# vim scheduler.xml

# cd /data/application/scheduler/bin

#./stop_manager.sh

#./start_manager.sh

# ps -ef |grep scheduler

 

3、 PROXY

# cd /data/tdsql_run/15001/gateway/conf 

# vim instance_15001.cnf

# su - tdsql

# cd /data/tdsql_run/15001/gateway/bin

#./restart_cgroup.sh instance_15001

# ps -ef |grep 1500x

 

4、 mysqlagent

# su -tdsql

# cd /data/tdsql_run/4001/mysqlagent/conf 

# vim mysqlagent_4001.xml

# cd /data/tdsql_run/4001/mysqlagent/bin

# ./restartreport_cgroup.sh ../conf/mysqlagent_4001.xml

# ps -ef |grep 400x

 

5、 clouddba

# cd /data/application/clouddba/conf 

# vim diagnosis.conf

# cd /data/application/clouddba/bin 

# ./restart.sh ../conf/diagnosis.conf

ps -ef |grep clouddba

 

6、 kafka

# cd /data/application/kafka/config 

# vim consumer.properties

停  

# cd/data/application/kafka_2.11-0.10.0.1/bin

# ./kafka-server-stop.sh -daemon ../config/server.properties

启  

# cd /data/application/kafka_2.11-0.10.0.1/bin

# ./kafka-server-start.sh -daemon ../config/server.properties

#  ps -ef |grep kafka

 

7、 monitor

               重启analyze程序

               # cd /data/application/analyze/conf/

                # vim conf.properties

               # cd /data/application/analyze/bin

               # ./restart.sh

              #ps -ef |grep analyze

              重启collector程序

           # cd /data/application/tdsql_collector/conf

          # vim conf.properties

           # cd /data/application/collector/bin

           # ./restart.sh

          # ps -ef |grep collector

 

十四、   赤兔前台集群信息中上报新增ZK节点

 

 

十五、两机房 3+(2+1),扩容observer

     根据按照部署第一章~第十三章进行zk扩容后修改observer角色

  (1) TDSQL集群机器加入新增zk obsever节点的host信息

( 2)选取一个原有节点,修改/data/zookeeper-3.4.6/conf/zoo.cfg,增加新的ob信息(注意此处为server.新节点myid,如server.6=1 72.21.16.15 :2888:3888:observer)

( 3)将新的zoo.cfg,使用scp命令传送至所有zk节点的相同路径覆盖原文件

( 4)重启新的ob节点,原有节点无需重启

( 5)检查整个集群的健康状态及角色

注:修改 zookeeper的角色为observer

修改所有配置: /data/application/zookeeper/conf/zoo.cfg

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69940575/viewspace-2741587/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-08

  • 博文量
    229
  • 访问量
    116876