开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
人脸识别

    集群部署

    数据库主从方案

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

    主数据库

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