集群部署
更新时间:2020-10-23
数据库主从方案
本文档介绍了人脸服务数据库的主从同步方案,当主库出现问题时,可以快速切换到从库提供服务,提高性能。
主数据库
- 服务器二中新建idl-face用户,查看是否有/home/idl-face/目录,如果没有则新建/home/idl-face/目录
useradd idl-face
mkdir -p /home/idl-face/
- 下载主数据库部署包到服务器中/home/idl-face/目录并解压
wget -O databus5535.tar.gz http://face-package.bj.bcebos.com/k8s/databus5535-master.tar.gz
tar –xvf databus5535.tar.gz
- 改变目录用户权限
chown –R idl-face.idl-face /home/idl-face/
- 切换idl-face用户,启动数据库
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
- 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
- 添加从库IP地址,用户 密码
grant REPLICATION SLAVE on *.* to 'face'@'从xxx.xxx.xxx.xxx' identified by 'face';
从数据库
- 服务器二中新建idl-face用户,查看是否有/home/idl-face/目录,如果没有则新建/home/idl-face/目录 新建idl-face用户
useradd idl-face
mkdir -p /home/idl-face/
- 下载从数据库部署包到服务器中/home/idl-face/目录并解压
wget -O databus5535.tar.gz http://face-package.bj.bcebos.com/k8s/databus5535-slave.tar.gz
tar –zxvf databus5535.tar.gz
- 修改目录用户权限
chown –R idl-face.idl-face /home/idl-face/
- 切换idl-face用户,启动数据库
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
- 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
- 添加主库的ip用户密码和binlog文件名和数据位置
change master to master_host="主xxx.xxx.xxx.xxx", master_port=5535, master_user='face', master_password='face', master_log_file='mysql-bin.000006', master_log_pos=0;
(mysql_log_file和master_log_pos从主库上执行 show master status中获取)
- 开启主从同步
start slave;
- 查看状态
show slave status\G;
主从切换
主数据库服务挂了,切到从库,其中人脸服务,鉴权服务还是用主库服务器,需要修改主库配置文件
- 修改主库人脸服务数据库配置文件的IP地址,改成从库的IP地址
vim /home/baidu/work/face-server/project-conf/sconf/service.conf
#databus
MYSQL_SVC_SERVICE_HOST=xxx.xxx.xxx.xxx
将xxx.xxx.xxx.xxx修改为从数据库的IP地址,其余配置项不要修改
- 删除原来容器并重新构建新的容器
cd /home/baidu/work/face-server/project-conf & bash multi_docker_start.sh
数据库主主方案
主库1
- 下载数据库部署包
wget -O databus5535.tar.gz http://face-package.bj.bcebos.com/k8s/databus5535-master.tar.gz
- 将部署包移动到/home/idl-face/目录,并解压。
- 改变目录用户权限
chown -R idl-face.idl-face /home/idl-face/databus5535
- 启动数据库服务
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
- 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
- 添加从库ip 用户 密码
grant REPLICATION SLAVE on *.* to 'face'@'10.233.42.1' identified by 'face';
10.233.42.1为从库ip
主库2
- 下载部署包
wget -O databus5535.tar.gz https://face-package.bj.bcebos.com/k8s/databus5535-slave.tar.gz
- 将部署包移动到/home/idl-face/目录
- 修改/home/idl-face/databus5535/etc/ mysqld.cnf,将server-id=1改为=2
- 改变目录用户权限
chown -R idl-face.idl-face /home/idl-face/databus5535
- 启动数据库服务
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
- 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
- 添加从库ip 用户 密码
grant REPLICATION SLAVE on *.* to 'face'@'10.233.43.2' identified by 'face';
- 添加主库的ip用户密码和binlog文件名和数据位置
change master to master_host="10.233.42.2", master_port=5535, master_user='face', master_password='face', master_log_file='mysql-bin.000006', master_log_pos=0;
- start slave;
- 查看状态
show slave status\G;
主库1
- 添加主库的ip用户密码和binlog文件名和数据位置
change master to master_host="10.233.42.1", master_port=5535, master_user='face', master_password='face', master_log_file='mysql-bin.000006', master_log_pos=0;
- start slave;
- 查看状态
show slave status\G;