TDSQL部署手册
作者:mmseoamin日期:2023-12-14

一、TDSQL概述

腾讯官网部署地址:https://cloud.tencent.com/privatecloud/document/78770048931491840/78770052742017024

腾讯云文档

1、架构

TDSQL部署手册,在这里插入图片描述,第1张

TDSQL部署手册,在这里插入图片描述,第2张

TDSQL部署手册,在这里插入图片描述,第3张

赤兔管理平台:统一运维管理平台,是DBA使用最多的图形化界面。

OSS:http协议操作接口,如果多个机器用一个赤兔管理,也是通过OSS来对接的。

scheduler/manager:运维管理模块,负责高可用切换,资源调度等。

Zookeeper:决策模块,保存集群元数据,提供配置维护、选举决策、路由同步等。

SQL引擎(Proxy):计算节点,负责权限管理。SQL转发,读写分离等。

数据节点(Set):部署MySQL数据库服务,并包含Agent状态监控模块

二、TDSQL集群架构设计

tdsql规划机器的时候分为4个角色

1)管理节点:包含zk、keeper(manager/scheduler)、oss、monitor、chitu一共需要3或5台机器(取决zk数量)

2)DB节点:包含db和proxy,如果是1主2备的话,需要3*n台机器

3)大数据节点:包含hdfs和kafka,需要3台机器,后续可扩容,整体容量要求是预估数据总容量的10倍以上。

4)其它节点:es、consumer、lvs

1、基础环境

6台机器 操作系统centos7.6

2、架构设计

组件192.168.16.21192.168.16.22192.168.16.23192.168.16.24192.168.16.25192.168.16.26
zkYYYYYY(observer)
schedulerYY
ossYY
chitu&clouddbaYY
monitorYY
metadbYYY
dbYYY
proxyYYY
lvsYY
hdfsY
intercityY

三、TDSQL安装部署

1、安装包

tdsql_full_install_ansible_10.3.14.1.0_D002.zip

2、配置主机名并添加主机名IP映射

# 每台主机分别设置主机名
hostname td21
hostname td22
hostname td23
hostname td24
hostname td25
hostname td26
# 每台主机都执行
vim /etc/hosts
192.168.16.21 td21
192.168.16.22 td22
192.168.16.23 td23
192.168.16.24 td24
192.168.16.25 td25
192.168.16.26 td26

TDSQL部署手册,在这里插入图片描述,第4张

3、开启时间同步

rpm -q ntp (查询软件包是否被安装)
yum  install  ntp -y
systemctl start ntpd ##	启动
systemctl enable ntpd  ##开机自启
chrony 配置完成后命令
chronyc sources -v

TDSQL部署手册,在这里插入图片描述,第5张

vim /etc/ntp.conf
#注释掉原有配置的
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#添加如下配置:
server ntp.aliyun.com iburst

TDSQL部署手册,在这里插入图片描述,第6张

systemctl restart ntpd
ntpq -p #查看当前服务器与上层 ntp 的状态

TDSQL部署手册,在这里插入图片描述,第7张

4、配置免密登录

主控机就是规划中ansible模块所在的机器,其它所有机器都是受控机。在此将192.168.16.21作为主控机。

ssh-keygen -f ~/.ssh/id_rsa -N ''
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.21
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.22
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.23
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.24
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.25
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.26

TDSQL部署手册,在这里插入图片描述,第8张

3、解压安装包,在主控机上安装ansible

#解包
unzip tdsql_full_install_ansible_10.3.14.1.0_D002.zip
#执行pythin脚本安装ansible
cd tdsql_full_install_ansible
python settings/install_ansible.py

TDSQL部署手册,在这里插入图片描述,第9张

TDSQL部署手册,在这里插入图片描述,第10张

TDSQL部署手册,在这里插入图片描述,第11张

5、规划存储目录

#格式化数据盘,新建data1目录[所有机器]
mkfs.xfs -f /dev/sdb
mkdir -p /data1
mount /dev/sdb /data1

6、主控机上修改ansible变量

#vim group_vars/all (修改网卡名和数据库密码)
---
#修改zk部署的数量,1、3或者5,修改为5
zk_num: 6   #改为5
#修改网卡信息,通过ifconfig查看网卡名称
netif_name: ens33
#修改tdsql账号的明文密码
tdsql_pass: a+complex+123456
#填入tdsql系统在zk上的根路径,一般不进行改动
zk_rootdir: /tdsqlzk2
#下面的配置先不改动
metadb_ip: 10.120.109.204
metadb_port: 15001
metadb_ip_bak: 10.120.109.205
metadb_port_bak: 15001
metadb_user: hanlon
metadb_password: hanlon
ssh_port: 36000
hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs
kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka
es_mem: 8
es_log_days: 7
es_base_path: /data/application/es-install/es
tdsql_secret_pass: K2JatUv5llBbMrske/k2YbqC
oc_secret_pass: LGhVs0v5nVxcOLQie/k9bb2I
clouddba_metadb_pass: h5Wyg2Xy
sh -x encrypt.sh

TDSQL部署手册,在这里插入图片描述,第12张

7、修改tdsql_hosts文件

[envcheck]
mac1 ansible_ssh_host=192.168.16.21
mac2 ansible_ssh_host=192.168.16.22
mac3 ansible_ssh_host=192.168.16.23
mac4 ansible_ssh_host=192.168.16.24
mac5 ansible_ssh_host=192.168.16.25
mac6 ansible_ssh_host=192.168.16.26
#zk数量必须为奇数,1,3,5
[zk]
zk1 ansible_ssh_host=192.168.16.21
zk2 ansible_ssh_host=192.168.16.22
zk3 ansible_ssh_host=192.168.16.23
zk4 ansible_ssh_host=192.168.16.24
zk5 ansible_ssh_host=192.168.16.25
zk6 ansible_ssh_host=192.168.16.26
[scheduler]
scheduler1 ansible_ssh_host=192.168.16.21
scheduler2 ansible_ssh_host=192.168.16.22
[oss]
oss1 ansible_ssh_host=192.168.16.21
oss2 ansible_ssh_host=192.168.16.22
[chitu]
chitu1 ansible_ssh_host=192.168.16.21
chitu2 ansible_ssh_host=192.168.16.22
[monitor]
monitor1 ansible_ssh_host=192.168.16.21
monitor2 ansible_ssh_host=192.168.16.22
[db]
db1 ansible_ssh_host=192.168.16.24
db2 ansible_ssh_host=192.168.16.25
db3 ansible_ssh_host=192.168.16.26
[proxy]
proxy1 ansible_ssh_host=192.168.16.24
proxy2 ansible_ssh_host=192.168.16.25
proxy3 ansible_ssh_host=192.168.16.26
[hdfs]
hdfs1 ansible_ssh_host=192.168.16.23
[lvs]
lvs1 ansible_ssh_host=192.168.16.23
lvs2 ansible_ssh_host=192.168.16.24
#不按照的可删除
[kafka]
kafka1 ansible_ssh_host=10.240.139.35
kafka2 ansible_ssh_host=10.120.109.204
kafka3 ansible_ssh_host=10.120.109.205
[consumer]
consumer1 ansible_ssh_host=10.58.110.23
[es]
es1 ansible_ssh_host=10.58.110.23
#上面的kafka consumer es配置可删除
[newdb]
newdb1 ansible_ssh_host=1.1.1.1
newdb2 ansible_ssh_host=2.2.2.2
newdb3 ansible_ssh_host=3.3.3.3

8、ansible执行脚本

安装zk:
#使用tdsql安装的zk
sh -x encrypt.sh
ansible-playbook -i tdsql_hosts part1_site.yml

TDSQL部署手册,在这里插入图片描述,第13张

执行脚本之后,环境检查不通过,原因是服务器内存低于5G,需要扩大内存之后,重新执行ansible-playbook -i tdsql_hosts part1_site.yml

TDSQL部署手册,在这里插入图片描述,第14张

zk按照报错,可能是因为节点数量为偶数,无法执行安装脚本,需要将zk的安装数量改为5,修改tdsql_hosts文件和ansible变量,并重新执行,observer节点扩容之后再配置

TDSQL部署手册,在这里插入图片描述,第15张

修改为奇数节点之后,zk集群安装成功,后面需要扩容zk集群,添加observer节点

TDSQL部署手册,在这里插入图片描述,第16张

执行成功

zk的配置:

TDSQL部署手册,在这里插入图片描述,第17张

9、赤兔初始化

网页访问安装chitu模块的机器地址,进行chitu初始化

TDSQL部署手册,在这里插入图片描述,第18张

任意访问一台

http://192.168.16.21/tdsqlpcloud

TDSQL部署手册,在这里插入图片描述,第19张

集群配置

TDSQL部署手册,在这里插入图片描述,第20张

TDSQL部署手册,在这里插入图片描述,第21张

TDSQL部署手册,在这里插入图片描述,第22张

TDSQL部署手册,在这里插入图片描述,第23张

TDSQL部署手册,在这里插入图片描述,第24张

TDSQL部署手册,在这里插入图片描述,第25张

TDSQL部署手册,在这里插入图片描述,第26张

点击开始创建

TDSQL部署手册,在这里插入图片描述,第27张

创建失败,可能是上面上报资源的有问题,重新配置试试,改成一主一备

TDSQL部署手册,在这里插入图片描述,第28张

网关和db都改为2个节点

TDSQL部署手册,在这里插入图片描述,第29张

TDSQL部署手册,在这里插入图片描述,第30张

TDSQL部署手册,在这里插入图片描述,第31张

还是一样的报错,无法创建,此安装包跟生产实际用的安装包有所区别,无法自动生成proxy机型,需要自己创建proxy机型

TDSQL部署手册,在这里插入图片描述,第32张

TDSQL部署手册,在这里插入图片描述,第33张

添加之后,重新还是按照一主两备进行创建实例

TDSQL部署手册,在这里插入图片描述,第34张

TDSQL部署手册,在这里插入图片描述,第35张

点击初始化

TDSQL部署手册,在这里插入图片描述,第36张

TDSQL部署手册,在这里插入图片描述,第37张

TDSQL部署手册,在这里插入图片描述,第38张

TDSQL部署手册,在这里插入图片描述,第39张

点击开始安装

TDSQL部署手册,在这里插入图片描述,第40张

TDSQL部署手册,在这里插入图片描述,第41张

选择任意一个网关列表的地址进行测试连接

mysql -utdsqlpcloud -h192.168.16.24 -P15193 -p'123456'

TDSQL部署手册,在这里插入图片描述,第42张

测试mysql连接无误,将连接账号密码写入到 group_vars/all 文件中

[root@td21 tdsql_full_install_ansible]# cat group_vars/all
---
zk_num: 5
netif_name: ens33
tdsql_pass: a+complex+123456
zk_rootdir: /tdsqlzk2
metadb_ip: 192.168.16.24       #主库IP
metadb_port: 15193             #主库端口
metadb_ip_bak: 192.168.16.25   #从库IP
metadb_port_bak: 15193         #从库端口
metadb_user: tdsqlpcloud       #数据库连接账号
metadb_password: 123456        #数据库连接密码
ssh_port: 36000
hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs
kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka
es_mem: 8
es_log_days: 7
es_base_path: /data/application/es-install/es
tdsql_secret_pass: S8dfgSoMUjGaUn+EHkm3pA==
oc_secret_pass: TM1QhyoMWT2dWHCCHkm8qA==
clouddba_metadb_pass: h5Wyg2Xy

TDSQL部署手册,在这里插入图片描述,第43张

执行安装part2_site.yml

#安装大约4分钟左右,日志路径/var/log/ansible.log,最终显示failed任务数为0表示安装成功。
sh -x encrypt.sh			<---------必须执行,更新密文密码
ansible-playbook -i tdsql_hosts part2_site.yml

TDSQL部署手册,在这里插入图片描述,第44张

执行报错,根据报错提示发现tdsql_hosts文件中没有配置es地址,需要添加es地址

TDSQL部署手册,在这里插入图片描述,第45张

添加之后,再次执行成功

TDSQL部署手册,在这里插入图片描述,第46张

#找到安装了 scheduler 的服务器并执行:
[root@td21 tdsql_full_install_ansible]# cat tdsql_hosts | grep scheduler
[scheduler]
scheduler1 ansible_ssh_host=192.168.16.21
scheduler2 ansible_ssh_host=192.168.16.22
# ssh 192.168.16.21
cd /data/application/scheduler/bin
./agent_config --mode modify --option="ocagent_port" --value="8966"
./agent_config --mode modify --option="hadoop_dir" --value=" /data/home/tdsql/hadoop-3.2.1/bin"

TDSQL部署手册,在这里插入图片描述,第47张

10、安装备用赤兔:

将已初始化的chitu机器上拷贝2个文件到未初始化的chitu机器上,并删除未初始化chitu机器上的crontab,如下:
192.168.16.21	已初始化chitu
192.168.16.22	未初始化chitu
(1)在21机器上,拷贝文件到22机器上
scp -p /data/website/tdsqlpcloud/www/config/database.php 192.168.16.22:/data/website/tdsqlpcloud/www/config/
scp -p /data/website/tdsqlpcloud/www/config/install.lock 192.168.16.22:/data/website/tdsqlpcloud/www/config/
(2)删除22机器上nginx用户的crontab
[root@localhost bin]# ssh 192.168.16.22
[root@localhost ~]# cp -a /var/spool/cron/nginx /data/tools/nginx_cron_bak
[root@localhost ~]# rm -f /var/spool/cron/nginx
(3)测试,登录22的chitu
http://192.168.16.22/tdsqlpcloud

TDSQL部署手册,在这里插入图片描述,第48张

TDSQL部署手册,在这里插入图片描述,第49张

TDSQL部署手册,在这里插入图片描述,第50张

TDSQL部署手册,在这里插入图片描述,第51张

11、安装HDFS服务

由于磁盘前面已经添加并格式化过,这里不用操作了
#需要安装hdfs的服务器修改主机名[必须修改,因为我们的主机名存在 - 线 需要改成没有特殊符号的]
#修改 tdsql_hosts 文件,将需要安装hdfs服务的服务器添加上去,这里就添加3台hdfs
vim tdsql_hosts 新增hdfs配置:
[hdfs]
hdfs1 ansible_ssh_host=192.168.16.23
#之前已添加修改
#安装hdfs单点[适用于低配服务器]:
#执行安装
ansible-playbook -i tdsql_hosts hdfs_single.yml
#切换到tdsql用户
su - tdsql
#用tdsql用户在hdfs1机器上,格式化namenode
hdfs namenode -format
#用tdsql用户在hdfs1机器上,启动namenode和datanode
hdfs --daemon start namenode
hdfs --daemon start datanode
#附:用tdsql用户关闭hdfs进程
hdfs --daemon stop datanode
hdfs --daemon stop namenode

#安装hdfs高可用安装启动
#在安装时需要保证主机名修改了
#[本文用多点,配置不高就用单点如果hdfs多点,那么zk服务也需要是多点,因为之前配置的zk就是多点,这里就可以继续安装多点hdfs,否则安装单点]:
#每台服务器需要主机名不同 设置方法: hostnamectl set-hostname node1
ansible-playbook -i tdsql_hosts hdfs.yml
#初始化HDFS:
#用tdsql用户在hdfs1机器,格式化zk
hdfs zkfc -formatZK
#用tdsql用户在所有机器,启动journalnode
hdfs --daemon start journalnode
#用tdsql用户在hdfs1机器,格式化并启动namenode
hdfs namenode -format
hdfs --daemon start namenode
#用tdsql用户在hdfs2机器,格式化namenode
hdfs namenode -bootstrapStandby
#------------------------------启动hdfs集群------------------------------#
#用tdsql用户在hdfs1机器,格式化并启动 zk
su - tdsql
hdfs zkfc -formatZK   #格式化只能一次
#所有机器启动 journalnode
hdfs --daemon start journalnode
#在hdfs1和hdfs2上启动namenode
hdfs --daemon start namenode
#在hdfs1和hdfs2上启动zkfc
hdfs --daemon start zkfc
#在所有hdfs机器上启动datanode
hdfs --daemon start datanode
#------------------------------启动hdfs集群------------------------------#
#------------------------------停止hdfs集群------------------------------#
在所有hdfs机器上关闭datanode
hdfs --daemon stop datanode
在hdfs1和hdfs2上关闭zkfc
hdfs --daemon stop zkfc
在hdfs1和hdfs2上关闭namenode
hdfs --daemon stop namenode
在所有hdfs机器上关闭journalnode
hdfs --daemon stop journalnode
#------------------------------停止hdfs集群------------------------------#
# hdfs haadmin -getAllServiceState 命令执行失败尝试:
hdfs --daemon stop namenode
hdfs --daemon stop journalnode
hdfs --daemon start namenode
hdfs --daemon start journalnode
hdfs dfsadmin -report
hdfs haadmin -getAllServiceState

本次测试安装的hdfs是单节点的,所在机器是192.168.16.23

#执行安装

ansible-playbook -i tdsql_hosts hdfs_single.yml

TDSQL部署手册,在这里插入图片描述,第52张

在hdfs所在机器192.168.16.23上执行

#切换到tdsql用户
su tdsql
#初始化HDFS:
#用tdsql用户在hdfs1机器上,格式化namenode
hdfs namenode -format
#用tdsql用户在hdfs1机器上,启动namenode和datanode
cd /data/home/tdsql/hadoop-3.2.1/bin
hdfs --daemon start namenode
hdfs --daemon start datanode
#附:用tdsql用户关闭hdfs进程
hdfs --daemon stop datanode
hdfs --daemon stop namenode

TDSQL部署手册,在这里插入图片描述,第53张

(7)在hdfs集群下查看/tdsqlbackup路径
用tdsql用户执行以下命令
su -  tdsql
#查看/tdsqlbackup目录是否已经被自动创建,权限是否是:tdsql supergroup 
hadoop fs -ls / 
#如果目录不在或者权限不对,用下面命令修改:
hadoop fs -mkdir /tdsqlbackup
hadoop fs -chown tdsql.supergroup /tdsqlbackup

TDSQL部署手册,在这里插入图片描述,第54张

检查HDFS端口并补充到 group_vars/all 文件中

ssh_port: 9870
hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs

12、配置hdfs监控

如果有HDFS,但是没有配置HDFS监控,到"“集群管理->集群设置”中设置“HDFS服务列表”",如图

TDSQL部署手册,在这里插入图片描述,第55张

如果是3节点的hdfs架构,如上图所示填写namenode节点(一般2个)的50070端口

生产环境不能用单节点hdfs,单节点架构的hdfs的端口号是9870

添加的列表为:192.168.16.23:9870

13、扩容zk机器,添加observer节点

#准备工作:
#1、修改tdsql_hosts文件。增加新zk节点信息
[zk]
zk1 ansible_ssh_host=192.168.16.21
zk2 ansible_ssh_host=192.168.16.22
zk3 ansible_ssh_host=192.168.16.23
zk4 ansible_ssh_host=192.168.16.24
zk5 ansible_ssh_host=192.168.16.25
zk6 ansible_ssh_host=192.168.16.26
#2、在所有tdsql集群服务器上增加host配置(包括新zk也要添加host解析):vim /etc/hosts 添加要扩容的zk服务器信息。
[root@td21 tdsql_full_install_ansible]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.16.21 td21
192.168.16.22 td22
192.168.16.23 td23
192.168.16.24 td24
192.168.16.25 td25
192.168.16.26 td26
#初始化新扩容的zk服务器
#注意:新增单独服务器zk扩容需要重新初始化,OS系统需要做时间同步、配置yum源、免密。(原有TDSQL集群扩容zk无需重新初始化)
#(1)登入ansible机器重新创建一个tdsql_newzk文件添加新增zk服务器ip信息
#添加的内容与tdsql_hosts文件里的一致
[newdb]
tdsql_newdb1 ansible_ssh_host=192.168.16.26
# vim tdsql_hosts
[newdb] <------勿修改
tdsql_newdb1 ansible_ssh_host=192.168.16.26 <-------初始化zk1ip

TDSQL部署手册,在这里插入图片描述,第56张

#在ansible的路径下有一个tdsql_newdb.yml文件
# cat tdsql_newdb.yml
- name: install newdb begining
  hosts: newdb
  remote_user: root
  gather_facts: false
  roles:
    - beginning
#以上tdsql_newdb.yml文件里的hosts处:tdsql_newdb名字要与创建的tdsql_newzk文件第一行一致,与tdsql_hosts文件里的名字也要与tdsql_newdb一致
#只需要保留初始化机器模板即可

(3)后台初始化zk机器

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

执行初始化新的zk机器

ansible-playbook -i tdsql_newzk tdsql_newdb.yml

TDSQL部署手册,在这里插入图片描述,第57张

(4) 将原zk节点定时任务拷贝到新初始化zk机器上

1、新版本定时任务文件路径/etc/crontab

在老的zk上拷贝定时任务到新的zk机器上

 */3 * * * * /bin/bash /server/scripts/check_supervisor_alive.sh

2、老版本定时任务crontab -l 查看即可

TDSQL部署手册,在这里插入图片描述,第58张

将原zk信息先备份

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

cd /data/application/scheduler/bin
./backupZkInfo

验证备份成功:

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

cd /data/zkbak/zkbackup/
ll

TDSQL部署手册,在这里插入图片描述,第59张

在扩容zk节点服务器上创建目录

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

TDSQL部署手册,在这里插入图片描述,第60张

4.5 在扩容zk节点服务器上检查并安装JDK——已存在JDK忽略此步。

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

scp /data/home/tdsql/jdk_x86.zip root@192.168.16.26:/data/home/tdsql/

在扩容zk服务器上操作:

cd /data/home/tdsql
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
date-d @时间戳

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

TDSQL部署手册,在这里插入图片描述,第61张

扩容zk服务器:

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

拷贝到新zk服务器上。

scp zookeeper.tar.gz root@192.168.16.26:/data/application/

新zk上解压安装包:

tar -zxvf zookeeper.tar.gz 
cd /data/application/zookeeper 
mkdir data;mkdir log

从已有zk服务器拷贝配置文件到扩容zk服务器上

scp /data/application/zookeeper/conf/zoo.cfg root@192.168.16.26:/data/application/zookeeper/conf/
scp /data/application/zookeeper/data/myid root@192.168.16.26:/data/application/zookeeper/data/

给扩容zk服务器zk目录添加权限

cd /data/application/
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
#将5修改为6(如果是一键部署安装三节点的zk集群,如果是第四台zk不管这里是何值都修改为4,第五台就改成5,依次类推)
cd /data/application/zookeeper/conf/
vim zoo.cfg
#加上新添加的zk服务器信息。
#注:集群内所有zk服务器需要配置新zk信息。数字为myid
#将新的zoo.cfg,使用scp命令传送至所有zk节点的相同路径覆盖原文件,每台单独修改也可以
启动新的zk服务,并查看进程和状态,其他原有节点也要重启
cd /data/application/zookeeper/bin
./zkServer.stop
./zkServer.start
./zkServer.status (查看状态是否是observer)

TDSQL部署手册,在这里插入图片描述,第62张

TDSQL部署手册,在这里插入图片描述,第63张

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

cd /data/application/scheduler/bin/

./manual_set delete_mnoswitch noshard all

./manual_set list_mnoswitch noshard all

其他模块配置文件需要加入zk新增节点的IP

#OSS
 su - tdsql
 cd /data/application/oss/conf/  
 vim scheduler.xml
 cd /data/application/oss/boot  
./stop.sh
 ./start.sh
 ps -ef |grep oss
scheduler
# su - tdsql
# cd /data/application/scheduler/conf 
# vim scheduler.xml
# vim backupConf.xml
# cd /data/application/scheduler/bin
#./stop_manager.sh
#./start_manager.sh
# ps -ef |grep scheduler
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
mysqlagent DB机(所有实例)
# 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
./startreport.sh ../conf/mysqlagent_4001.xml
# ps -ef |grep 400x
clouddba (一般与chitu混部 不用添加任何信息)
里面配置文件默认zk只有一台,一般是赤兔的第一台
# su - tdsql
# cd /data/application/clouddba/conf  
# vim diagnosis.conf
# cd /data/application/clouddba/bin  
# ./restart.sh ../conf/diagnosis.conf
ps -ef |grep diagnosis
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
monitor
重启analyze程序
#su - tdsql
# cd /data/application/tdsql_analysis/conf/
# vim conf.properties 添加新扩容的zk信息
# cd /data/application/tdsql_analysis/bin
# ./restart.sh
#ps -ef |grep analysis
重启collector程序
# su - tdsql
# cd /data/application/tdsql_collector/conf
# vim conf.properties 查看是否有需要添加的zk信息
# cd /data/application/collector/bin
# ./restart.sh
# ps -ef |grep collector
hdfs 
检查新的zk节点与hdfs时间是否同步
hdfs节点上操作:
su - tdsql
cd /data/home/tdsql/hadoop/etc/hadoop/
cp core-site.xml core-site.xml_bak
vim core-site.xml
增加新zk信息
参考产品部署手册重启hdfs
intercity 组件
intercity增加新扩容zk的信息
cd /data/application/intercity_cluster/conf
vim cluster.xml
增加新扩容zk信息,增加完成后,重启intercity
cd /data/application/intercity_cluster/bin
su - tdsql
sh stop_cluster.sh
sh start_cluster.sh
检查intercity组件进程是否正常
ps -ef | grep intercity
在intercity组件部署机上增加zk扩容信息
/data/application/oss/config/scheduler.xml文件
然后重启
/data/application/oss/boot
./stop.sh
./start.sh

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

TDSQL部署手册,在这里插入图片描述,第64张

上报节点之后,稍等一会,查看zk监控即可看到observer节点

TDSQL部署手册,在这里插入图片描述,第65张