资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

集群部署

数据库主从方案

本文档介绍了人脸服务数据库的主从同步方案,当主库出现问题时,可以快速切换到从库提供服务,提高性能。

主数据库

  1. 服务器二中新建idl-face用户,查看是否有/home/idl-face/目录,如果没有则新建/home/idl-face/目录
useradd idl-face
mkdir -p /home/idl-face/
  1. 下载主数据库部署包到服务器中/home/idl-face/目录并解压
wget -O databus5535.tar.gz http://face-package.bj.bcebos.com/k8s/databus5535-master.tar.gz
tar –xvf databus5535.tar.gz
  1. 改变目录用户权限
chown –R idl-face.idl-face /home/idl-face/
  1. 切换idl-face用户,启动数据库
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
  1. 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p 
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
  1. 添加从库IP地址,用户 密码
grant REPLICATION SLAVE  on *.* to 'face'@'从xxx.xxx.xxx.xxx' identified by 'face';

从数据库

  1. 服务器二中新建idl-face用户,查看是否有/home/idl-face/目录,如果没有则新建/home/idl-face/目录 新建idl-face用户
useradd idl-face
mkdir -p /home/idl-face/
  1. 下载从数据库部署包到服务器中/home/idl-face/目录并解压
wget -O databus5535.tar.gz http://face-package.bj.bcebos.com/k8s/databus5535-slave.tar.gz
tar –zxvf databus5535.tar.gz
  1. 修改目录用户权限
chown –R idl-face.idl-face /home/idl-face/
  1. 切换idl-face用户,启动数据库
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
  1. 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p 
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
  1. 添加主库的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中获取)

  1. 开启主从同步
start slave;
  1. 查看状态
show slave status\G;

主从切换

主数据库服务挂了,切到从库,其中人脸服务,鉴权服务还是用主库服务器,需要修改主库配置文件

  1. 修改主库人脸服务数据库配置文件的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地址,其余配置项不要修改

  1. 删除原来容器并重新构建新的容器
cd /home/baidu/work/face-server/project-conf & bash multi_docker_start.sh

数据库主主方案

主库1

  1. 下载数据库部署包
wget -O databus5535.tar.gz http://face-package.bj.bcebos.com/k8s/databus5535-master.tar.gz
  1. 将部署包移动到/home/idl-face/目录,并解压。
  2. 改变目录用户权限
chown -R idl-face.idl-face /home/idl-face/databus5535
  1. 启动数据库服务
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
  1. 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p 
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
  1. 添加从库ip 用户 密码
grant REPLICATION SLAVE  on *.* to 'face'@'10.233.42.1' identified by 'face';
10.233.42.1为从库ip

主库2

  1. 下载部署包
wget -O databus5535.tar.gz https://face-package.bj.bcebos.com/k8s/databus5535-slave.tar.gz
  1. 将部署包移动到/home/idl-face/目录
  2. 修改/home/idl-face/databus5535/etc/ mysqld.cnf,将server-id=1改为=2
  3. 改变目录用户权限
chown -R idl-face.idl-face /home/idl-face/databus5535
  1. 启动数据库服务
su idl-face
cd /home/idl-face/databus5535/
nohup ./bin/mysqld_safe --defaults-file=./etc/my.cnf &
  1. 登录数据库
./bin/mysql -h127.0.0.1 -P5535 -uroot -p 
输入密码:Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
  1. 添加从库ip 用户 密码
grant REPLICATION SLAVE  on *.* to 'face'@'10.233.43.2' identified by 'face';
  1. 添加主库的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;
  1. start slave;
  2. 查看状态
show slave status\G;

主库1

  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;
  1. start slave;
  2. 查看状态
show slave status\G;

部署问题

数据库启动报错

1.数据库构建过程中 启动数据库报错

./bin/mysqld_safe: /home/idl-face/databus5535/bin/my_print_defaults: /opt/compiler/gcc-4.8.2/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

查看是否存在/opt/compiler/gcc-4.8.2/lib64/ld-linux-x86-64.so.2文件 如果不存在 则 01)切换到/opt/compiler下 下载文件并解压

cd /opt/compiler
wget https://face-package.bj.bcebos.com/k8s/gcc-8.2.tar.gz 
wget https://face-package.bj.bcebos.com/k8s/gcc-4.8.2.bpkg-r4.tar.gz
tar -zxvf gcc-4.8.2.bpkg-r4.tar.gz 
tar -zxvf gcc-8.2.tar.gz 

02)修改gcc-4.8.2.bpkg-r4.tar.gz解压后文件的名称

cd gcc-4.8.2.bpkg-r4/
mv gcc-4.8.2.bpkg-r4/ ../gcc-4.8.2

03)重新启动数据库

数据库开机无法自启

开机启动脚本不能正常执行可修改脚本为

可将原数据库启动命令更换为
/bin/bash /home/idl-face/databus5535/server start

数据库主从重启失效

重启服务器后查看主从状态

show slave status\G

Slave_IO_Running:NO
Slave_SQL_Running:NO

可修改开机自启脚本/home/idl-face/databus5535/sh/mysql_boot.sh 添加如下内容

/home/idl-face/databus5535/sh/mysql -h127.0.0.1 -P5535 -uroot -p'Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh' -e "stop slave;start slave;"
上一篇
License更新说明
下一篇
运维支持