1. Metadb master-slave 主从配置

1.1. 配置说明

  1. Metadb 主从配置,适用于Metadb 数据库版本高于13.5的环境,低于此版本的Metadb服务 先参考 数据库服务升级

1.2. 单机/集群部署

1.2.1. 准备工作

  1. 配置/opt/hengshi/conf/hengshi-sense-env.sh文件中的 export PG_METASLAVE_HOST=(10.10.10.xx 10.10.10.xx)参数, 10.10.10.xx 表示从节点ip地址 支持多从库配置,可以选择一台从库或者多从库,支持水平扩展从库数量。
  2. 请确保从库服务器,与主库服务器之间可以免密码登录
  3. 执行初始化从库操作前,请确保主库metadb服务在启动状态 注意 从库端口不可配置,使用主库配置的HS_PG_PORT值,请保证从库此端口可用

1.2.2. 初始化操作

注意

  1. 初始化metaslave前,请保证metadb服务处于启动状态。
  2. 初始化的从库为只读权限没有写入权限,不可直接连接作为数据库使用
    cd /opt/hengshi
    bin/hengshi-sense-bin init metaslave
    

1.2.3. 启动操作

cd /opt/hengshi
bin/hengshi-sense-bin start metaslave

1.2.4. 停止操作

cd /opt/hengshi
bin/hengshi-sense-bin stop metaslave

1.2.5. 切换从库操作

  1. 提升从库写权限,此次操作需要在HS_PG_HOST配置的原从库地址服务器上执行
    cd /opt/hengshi
    bin/hengshi-sense-bin promote metadb
    
  2. 出现下述述提示请输入Y确认此次操作,操作成功界面如下
  3. 请修改/opt/hengshi/conf/hengshi-sense-env.sh文件中的HS_PG_HOST参数为想要切换为主库的从库地址。 注意
    1. HS_ENGINE_HOST 参数如果未配置请配置,使用默认参数会引用HS_PG_HOST参数信息,导致引擎地址错误。
    2. 切换到从库后PG_METASLAVE_HOST参数请重新配置,之前配置的主从关系将失效,需要重新进行初始化操作
  4. 重启衡石服务完成主从切换操作
    cd /opt/hengshi
    bin/hengshi-sense-bin restart hengshi
    

1.3. 集群部署注意事项

  1. 将集群操作节点上的(默认Node-A)的/opt/hengshi/ansible/hosts 以下内容取消注释

    [metaslave] #metadb 数据库从库(选填)可用于主库down机 备用库使用
    Node-B
    
  2. 将metadb slave所在机器节点(默认Node-B) /opt/hengshi/conf/hengshi-sense-env.sh 中的export PG_METASLAVE_HOST=(Node-B) 参数指定为Node-B ,多个host用空格分割。

也可以直接更改Node-A的/opt/hengshi/conf/hengshi-sense-env.sh, 然后使用以下命令进行同步配置文件到其他节点

 ./hs_install -m config  -c ../cluster-conf/       # 跳过备份和gpdb文件可以加  -s t -g false 参数
  1. 在集群操作节点上(默认Node-A)上执行初始化和启动操作
    /opt/hengshi/bin/hengshi-sense-bin init metaslave
    /opt/hengshi/bin/hengshi-sense-bin start metaslave
    

看到 "streaming" 字样表示主从配置成功

1.4. 容器部署

1.4.1. 准备工作

  1. 使用特定的docker-compose.yaml文件部署Metadb主从,请联系售后人员
  2. 配置hsenv文件
    • HS_MASTER_PG_HOST 部署服务节点,服务器ip信息(不是docker容器内部ip信息)
    • HS_SLAVE_PG_HOST 部署从库节点,服务器ip信息(不是docker容器内部ip信息)
  3. 请保持 HS_MASTER_PG_HOST和HS_SLAVE_PG_HOST 服务器可以正常连通 并且HS_PG_EXPOSE_PORT 端口互为开放

1.4.2. 初始化操作

注意

  1. 初始化metaslave前,请保证metadb服务处于启动状态。
  2. 初始化的从库为只读权限没有写入权限,不可直接连接作为数据库使用
    cd single
    docker-compose run --rm metadb init metaslave
    

1.4.3. 启动操作

cd single
docker-compose up -d

1.4.4. 停止操作

cd single
docker-compose down

1.4.5. 切换从库操作

  1. 提升从库读写权限,此次操作需要在HS_SLAVE_PG_HOST配置的原从库地址服务器上执行
    cd single
    docker-compose run --rm metadb promote metadb
    
  2. 出现下述述提示请输入Y确认此次操作,操作成功界面如下
  3. 请修改metaslave/docker-compose.yaml配置文件,hengshi>environment>HS_PG_HOST:hengshi-metadb 修改为部署从库服务器ip
  4. 重启衡石服务完成主从切换操作
    cd single
    docker-compose down
    docker-compose up
    

1.5. k8s部署

1.5.1. 准备工作

  1. 请联系售后人员,获取metaslave.yaml 配置文件。

1.5.2. 启动操作

注意

  1. 执行操作metaslave前,请保证metadb服务处于启动状态。
  2. 初始化的从库为只读权限没有写入权限,不可直接连接作为数据库使用
  3. 请确认configmap.yaml 文件中存在LOCAL_HOST_NAME参数配置
    kubectl -n hengshi apply -f configmap.yaml
    kubectl -n hengshi apply -f metaslave.yaml
    

1.5.3. 切换从库操作

  1. 提升从库读写权限
    kubectl -n hengshi exec -it metaslave-0 -- /docker-entrypoint.sh promote metadb single
    
  2. 出现下述述提示请输入Y确认此次操作,操作成功界面如下
  3. 修改configmap.yaml 文件,HS_PG_HOST: metadb-0.hengshi-hs 参数为 metaslave-0.hengshi-hs
  4. 重启衡石服务完成主从切换操作
    kubectl -n hengshi apply -f hengshi.yaml
    

results matching ""

    No results matching ""

    数据库服务升级 Windows安装升级