前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TDSQL—扩容增加zookeeper节点

TDSQL—扩容增加zookeeper节点

原创
作者头像
腾讯云数据库 TencentDB
发布于 2020-12-11 09:29:22
发布于 2020-12-11 09:29:22
2.2K0
举报

上图是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_zk2

172.21.16.12  tdsql_host_zk3

#新增

172.21.16.13  tdsql_host_zk4

172.21.16.14  tdsql_host_zk5

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

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

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

        # cd /root/tdsql_install

        # cat  tdsql_newzk

          [tdsql_allmacforcheck]

          tdsql_mac4 ansible_ssh_host=172.21.16.13 #新增初始化zk ip1

          tdsql_mac5 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_zk4:2338:2558  #其中4是节点myid ,tdsql_host_zk4是节点域名要一一对应

server.5=tdsql_host_zk5: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.13 2118

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

cd /data/application/scheduler/bin/

./manual_set delete_mnoswitch noshard all

./manual_set list_mnoswitch noshard all

十三、 其他模块配置文件需要加入zk新增节点配置  tdsql_host_zk4:2118,tdsql_host_zk5: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=172.21.16.15:2888:3888:observer)

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

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

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

注:修改zookeeper的角色为observer

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TDSQL 安装部署(多图预警)
墨墨导读:分布式数据库(Tencent Distributed SQL,TDSQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
数据和云
2020/09/27
6.4K2
TDSQL 安装部署(多图预警)
ZooKeeper集群安装与Hbase全分布式安装
      Apache ZooKeeper 是一个面向分布式应用程序的高性能协调服务器。要实现Hbase全分布式安装,需要安装ZooKeeper,当然后面kafka也需要安装这个东西。
sparkexpert
2022/05/07
3560
ZooKeeper集群安装与Hbase全分布式安装
zookeeper集群搭建(centos7)
准备三个虚拟机: 192.168.101.15 bigdata01 192.168.101.14 bigdata02 192.168.101.17 bigdata03 注意:下边的步骤都是在bigdata01这个节点上进行的操作,除特殊说明外。 1、下载安装包 cd /data/soft # 下载zookeeper安装包 wget http://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.6.3-bin.tar.gz 2、解
高大北
2022/12/22
4300
Kafka环境搭建
Kafka简介Zookeeper搭建Zookeeper单机版安装下载Zookeeper解压配置启动测试Zookeeper伪集群安装server1创建新建目录创建文件myid创建文件zoo.cfgserver2创建新建目录创建文件myid创建文件zoo.cfgserver3创建新建目录创建文件myid创建文件zoo.cfg启动查看启动的服务Zookeeper集群安装
黑洞代码
2021/01/14
6230
zookeeper三节点集群安装记录
下载地址: http://mirrors.shu.edu.cn/apache/zookeeper/
Ryan-Miao
2019/01/07
9311
ZooKeeper入门教程(一)
想必大家都对分布式系统有所耳闻,大部分人对分布式都能侃侃而谈,但到了真正实施的时候,才发现其中的不易。今天带大家一起了解一款开源软件,ZooKeeper。它通过一些简单好用的API,来解决分布式系统设计与开发中的难点。
好好学java
2019/12/05
7610
Hadoop快速入门——第四章、zookeeper(集群)
Hadoop快速入门——第四章、zookeeper集群 前置条件:配置ssh免密登录&hadoop分布式 1、上传【zookeeper-3.4.6.tar.gz】文件 2、解压文件 tar -zxvf zookeeper-3.4.6.tar.gz 3、修改文件名称方便操作  mv zookeeper-3.4.6 zookeeper 4、编辑脚本文件 vi /etc/profile.d/hadoop-eco.sh ZOOKEEPER_HOME=/opt/zookeeper PATH=$PATH:$ZO
红目香薰
2022/11/29
2630
Hadoop快速入门——第四章、zookeeper(集群)
zookeeper(单机、伪集群、集群)部署
ZooKeeper是一个分布式的、开源的分布式应用程序协调服务,可以在分布 式环境中实现应用配置管理、统一命名服务、状态同步服务等功能。 ZooKeeper是一种为分布式应用所设计的高可用、高性能的开源协调服务,它提供了一项基本服务:分布式锁 服务。由于ZooKeeper开源的特性,在其分布式锁实现的基础上,又被摸索出了其它的功用,譬如:配置维 护、组服务、分布式消息队列等等。 ZooKeeper维护了一个类似文件系统的数据结构,其内部每个子目录都被 称作znode(目录节点),与文件系统一样,我们可以自由的增删改查znode。ZooKeeper集群适合搭建在奇数 台机器上。只要集群中半数以上主机处于存活,那么服务就是可用的。 ZooKeeper在配置文件中并没有指定 master和slave,但是,ZooKeeper在工作时,只有一个节点为leader,其余节点为follower,leader是通过内部 的选举机制临时产生的。
小手冰凉
2020/04/08
6.5K0
Zookeeper入门(一)
ZooKeeper是一个分布式开源的分布式应用协调服务。它公开了一组简单的原语,分布式应用程序可以在其基础上实现用于同步、配置维护以及分组和命名的更高级别服务。它的设计便于编程,并使用了一种熟悉的文件系统目录树结构样式的数据模型。它使用Java语言编写,并且有针对Java和C的客户端。
用户3587585
2022/09/21
6060
Zookeeper入门(一)
Linux——Kafka集群搭建
这里不做过多的原理的讲解,直接讲部署搭建,具体原理性的东西,大家可以到kafka的官网去查看,原汁原味更带劲。
思索
2024/08/16
2410
Linux——Kafka集群搭建
Zookeeper集群安装
cd /usr/local/src/ tar -C /usr/local/ -xzf zookeeper-3.5.4.tar.gz cd /usr/local/zookeeper-3.5.4 ln -s zookeeper-3.5.4 zookeeper
HUC思梦
2020/09/03
8240
一文简单了解并部署Zookeeper集群
Zookeeper对于很多人开始可能都有所耳闻,他的使用场景也很多,可以以节点的形式存储持久化数据,也可以使用这一特性来作为微服务的服务注册中心,简单来说,Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。
GreatSQL社区
2023/02/22
8310
zookeeper技术介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
民工哥
2020/09/16
6180
zookeeper技术介绍
Zookeeper 入门
下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/
架构探险之道
2023/03/04
2510
Zookeeper 入门
ZooKeeper学习第二期--ZooKeeper安装配置
■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)
用户5640963
2019/07/26
6090
ZooKeeper学习第二期--ZooKeeper安装配置
Zookeeper在Linux虚拟机下的安装部署
Apache ZooKeeper是Apache软件基金会的一个开源分布式软件项目,大数据集群服务器的管理者协调者。 简言:ZK就是一个管理多个服务(集群分布式环境下)的通知机制 Watcher+文件系统 ZNode 文件系统:保存少量,服务器相关的配置文件信息。 Watcher 监听通知机制:注册监听服务器的上下线以及配置信息变更。
火之高兴
2024/07/25
2300
Zookeeper在Linux虚拟机下的安装部署
CentOs7.3 搭建 ZooKeeper-3.4.9 Cluster 集群服务
CentOs7.3 搭建 ZooKeeper-3.4.9 Cluster 集群服务 Zookeeper 概述 zookeeper实际上是yahoo开发的,用于分布式中一致性处理的框架。最初其作为研发Hadoop时的副产品。由于分布式系统中一致性处理较为困难,其他的分布式系统没有必要 费劲重复造轮子,故随后的分布式系统中大量应用了zookeeper,以至于zookeeper成为了各种分布式系统的基础组件,其地位之重要,可想而知。著名的hadoop,kafka,dubbo 都是基于zookeeper而构建。 要
程序员鹏磊
2018/02/09
7900
Zookeeper集群部署
Zookeeper 是一个开源的分布式协调服务,主要用于管理和协调分布式系统中的各种服务和数据。通俗来说,它就像是一个“管理员”或“调度员”,帮助不同的服务和应用程序之间进行通信和协作。
码农GT038527
2024/08/07
1810
Zookeeper集群安装部署
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,是一个针对大型分布式系统的可靠协调系统;
用户8826052
2021/07/12
8420
搭建Zookeeper、Kafka集群
https://www.oiox.cn/index.php/start-page.html
小陈运维
2025/04/13
1210
搭建Zookeeper、Kafka集群
相关推荐
TDSQL 安装部署(多图预警)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档