当前位置:   article > 正文

TDSQL部署手册

tdsql

一、TDSQL概述

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

1、架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
赤兔管理平台:统一运维管理平台,是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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
# 每台主机都执行
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

3、开启时间同步

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

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

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、规划存储目录

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67

8、ansible执行脚本

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

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
执行脚本之后,环境检查不通过,原因是服务器内存低于5G,需要扩大内存之后,重新执行ansible-playbook -i tdsql_hosts part1_site.yml
在这里插入图片描述
zk按照报错,可能是因为节点数量为偶数,无法执行安装脚本,需要将zk的安装数量改为5,修改tdsql_hosts文件和ansible变量,并重新执行,observer节点扩容之后再配置
在这里插入图片描述
修改为奇数节点之后,zk集群安装成功,后面需要扩容zk集群,添加observer节点
在这里插入图片描述
执行成功
zk的配置:
在这里插入图片描述

9、赤兔初始化

网页访问安装chitu模块的机器地址,进行chitu初始化
在这里插入图片描述
任意访问一台
http://192.168.16.21/tdsqlpcloud
在这里插入图片描述
集群配置
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击开始创建
在这里插入图片描述
创建失败,可能是上面上报资源的有问题,重新配置试试,改成一主一备
在这里插入图片描述
网关和db都改为2个节点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还是一样的报错,无法创建,此安装包跟生产实际用的安装包有所区别,无法自动生成proxy机型,需要自己创建proxy机型
在这里插入图片描述
在这里插入图片描述
添加之后,重新还是按照一主两备进行创建实例
在这里插入图片描述
在这里插入图片描述
点击初始化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击开始安装
在这里插入图片描述
在这里插入图片描述
选择任意一个网关列表的地址进行测试连接

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

  • 1
  • 2

在这里插入图片描述
测试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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述
执行安装part2_site.yml

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

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
执行报错,根据报错提示发现tdsql_hosts文件中没有配置es地址,需要添加es地址
在这里插入图片描述
添加之后,再次执行成功
在这里插入图片描述

#找到安装了 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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99

本次测试安装的hdfs是单节点的,所在机器是192.168.16.23
#执行安装
ansible-playbook -i tdsql_hosts hdfs_single.yml
在这里插入图片描述
在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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

(7)在hdfs集群下查看/tdsqlbackup路径
用tdsql用户执行以下命令
su -  tdsql

#查看/tdsqlbackup目录是否已经被自动创建,权限是否是:tdsql supergroup 
hadoop fs -ls / 


#如果目录不在或者权限不对,用下面命令修改:
hadoop fs -mkdir /tdsqlbackup
hadoop fs -chown tdsql.supergroup /tdsqlbackup
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
检查HDFS端口并补充到 group_vars/all 文件中

ssh_port: 9870
hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs
  • 1
  • 2

12、配置hdfs监控

如果有HDFS,但是没有配置HDFS监控,到"“集群管理->集群设置”中设置“HDFS服务列表”",如图
在这里插入图片描述

如果是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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
#(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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

#在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一致
#只需要保留初始化机器模板即可
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

(3)后台初始化zk机器
执行前确保新增的zk机器的时间和集群中其它机器的时间同步
执行初始化新的zk机器

ansible-playbook -i tdsql_newzk tdsql_newdb.yml
  • 1

在这里插入图片描述
(4) 将原zk节点定时任务拷贝到新初始化zk机器上
1、新版本定时任务文件路径/etc/crontab
在老的zk上拷贝定时任务到新的zk机器上

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

2、老版本定时任务crontab -l 查看即可
在这里插入图片描述
将原zk信息先备份
zk备份的工具在scheduler的bin目录下,scheduler机器上执行:

cd /data/application/scheduler/bin
./backupZkInfo
  • 1
  • 2

验证备份成功:
在执行备份命令的scheduler机器上执行:

cd /data/zkbak/zkbackup/
ll
  • 1
  • 2

在这里插入图片描述
在扩容zk节点服务器上创建目录

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

在这里插入图片描述

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/
  • 1

在扩容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
  • 1
  • 2
  • 3
  • 4
  • 5

在scheduler服务器上设置免切

cd /data/application/scheduler/bin/
./manual_set add_mnoswitch noshard all 1 24
  • 1
  • 2

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

./manual_set list_mnoswitch noshard all
date-d @时间戳
  • 1
  • 2

或者登陆赤兔设置实例一切免切
在这里插入图片描述
扩容zk服务器:
在已有zk服务器上进入cd /data/application并找到zookeeper.tar.gz安装包
拷贝到新zk服务器上。

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

新zk上解压安装包:

tar -zxvf zookeeper.tar.gz 
cd /data/application/zookeeper 
mkdir data;mkdir log
  • 1
  • 2
  • 3

从已有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/
  • 1
  • 2

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

cd /data/application/
chown -R tdsql:users zookeeper
  • 1
  • 2

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

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

修改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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述
在这里插入图片描述
全部完成并确认无误后,删除集群免切状态
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108

赤兔前台集群信息中上报新增ZK节点
在这里插入图片描述
上报节点之后,稍等一会,查看zk监控即可看到observer节点
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/901458
推荐阅读
相关标签
  

闽ICP备14008679号