集群部署
所有文档

          人脸识别

          集群部署

          数据库主从方案

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

          主数据库

          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更新说明
          下一篇
          接口文档