暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

「OceanBase 征文」|OB4.0-OMS迁移工具安装

原创 不想用随机名字 2023-03-03
1265

实验环境接上篇https://www.modb.pro/db/616768

安装OMS

下载软件

    安装OMS需要下载OMS安装包和Docker安装包
    OMS安装包下载地址:https://www.oceanbase.com/softwarecenter
image.png

docker安装

    我的docker版本是docker-20.10.9.tgz,首先上传docker到服务器

  1. 编辑docker.service配置文件,为systemctl控制使用。
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd --graph /data ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=proc [Install] WantedBy=multi-user.target
  1. 编辑一个脚本setupdocker.sh方便对docker进行解压、添加到系统服务等
#!/bin/sh # 解压 tar xzvf docker-20.10.9.tgz # 将docker目录复制到/usr/bin cp docker/* /usr/bin/ # 将docker.service 复制到/etc/systemd/system/ mkdir /etc/docker/ cp docker.service /etc/systemd/system/ # 添加执行权限 chmod +x /etc/systemd/system/docker.service # 加载配置文件 systemctl daemon-reload # 启动docker systemctl start docker # 设置开机自启动 systemctl enable docker.service docker -v

    执行脚本安装

[root@miniob soft]# sh setupdocker.sh docker/ docker/containerd-shim-runc-v2 docker/dockerd docker/docker-proxy docker/ctr docker/docker docker/runc docker/containerd-shim docker/docker-init docker/containerd Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /etc/systemd/system/docker.service. Docker version 20.10.9, build c2ea9bc

docker装载OMS对象

    docker load -i oms_4.0.0-ce_bp1.tar.gz

[root@miniob soft]# docker load -i oms_4.0.0-ce_bp1.tar.gz 174f56854903: Loading layer [==================================================>] 211.7MB/211.7MB 19b88ca43527: Loading layer [==================================================>] 389.1kB/389.1kB 44653cb4689c: Loading layer [==================================================>] 7.68kB/7.68kB 6633d04dcd98: Loading layer [==================================================>] 3.072kB/3.072kB e156d7b3f973: Loading layer [==================================================>] 35.33kB/35.33kB 2dd0f0fd94e5: Loading layer [==================================================>] 9.728kB/9.728kB 183607833407: Loading layer [==================================================>] 475.1kB/475.1kB 982dd8d8ae8a: Loading layer [==================================================>] 3.072kB/3.072kB cb76c090b520: Loading layer [==================================================>] 16.38kB/16.38kB d4b0dab418bc: Loading layer [==================================================>] 8.192kB/8.192kB 100fe27a7854: Loading layer [==================================================>] 9.216kB/9.216kB 9e6f7e637bab: Loading layer [==================================================>] 15.59MB/15.59MB 2e1198501356: Loading layer [==================================================>] 484.3MB/484.3MB 85ca0868ed50: Loading layer [==================================================>] 5.632kB/5.632kB 2c5473f008d5: Loading layer [==================================================>] 35.91MB/35.91MB 1db512c8ba08: Loading layer [==================================================>] 3.072kB/3.072kB a52053c84020: Loading layer [==================================================>] 525.3kB/525.3kB 69e3ad93a226: Loading layer [==================================================>] 143.9kB/143.9kB 13edc44f9d06: Loading layer [==================================================>] 3.072kB/3.072kB a0d8ca5ee918: Loading layer [==================================================>] 3.584kB/3.584kB c66091056f22: Loading layer [==================================================>] 1.49GB/1.49GB 78d7b3b853d7: Loading layer [==================================================>] 23.55kB/23.55kB 5c49de10b2b6: Loading layer [==================================================>] 186.2MB/186.2MB 5bb4c38f23e9: Loading layer [==================================================>] 4.608kB/4.608kB 221fd47721b7: Loading layer [==================================================>] 875kB/875kB 6123615d6d1d: Loading layer [==================================================>] 45.44MB/45.44MB 3d62a7929892: Loading layer [==================================================>] 3.584kB/3.584kB 7699b78becc1: Loading layer [==================================================>] 4.065MB/4.065MB 5f70bf18a086: Loading layer [==================================================>] 1.024kB/1.024kB 9ae82e58d7f1: Loading layer [==================================================>] 83.42MB/83.42MB 87cdc4dac108: Loading layer [==================================================>] 26.16MB/26.16MB 13a37d77cffc: Loading layer [==================================================>] 78.85kB/78.85kB ee8d2657fa3b: Loading layer [==================================================>] 70.38MB/70.38MB Loaded image: reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.0.0-ce_bp1 [root@miniob soft]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg.docker.alibaba-inc.com/oceanbase/oms feature_4.0.0-ce_bp1 79d360e47f56 6 weeks ago 2.62GB

从加载的镜像中获取部署脚本

[root@miniob soft]# docker run --name oms-config-tool 79d360e47f56 bash && docker cp oms-config-tool:/root/docker_remote_deploy.sh . && docker rm -f oms-config-tool

    注意其中:79d360e47f56 是OMS的IMAGE ID

编辑OMS配置文件config.yaml

  1. 需要再sys租户下创建一个有查询权限的用户
[root@miniob conf]# obclient -h172.20.10.177 -P2881 -uroot -Doceanbase Copyright (c) 2000, 2018, OB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. obclient [oceanbase]> create user oms_user identified by 'oms_user' obclient [oceanbase]> grant select on *.* to oms_user; Query OK, 0 rows affected (0.068 sec)
  1. 编辑confile.yaml
#OMS 元数据库信息 oms信息存放到那个租户中,需要提前在ob中创建一个租户,或者使用一个已经存在的租户 oms_meta_host: 172.20.10.177 oms_meta_port: 2881 oms_meta_user: test_user@tenant1 oms_meta_password: test_user # 用户可以自定义以下三个数据库的名称,OMS 部署时会在上面选择租户中中创建出这三个数据库 drc_rm_db: rm_db drc_cm_db: cm_db drc_cm_heartbeat_db: heartbeat_db # 用于消费 OceanBase 增量的用户 # 当需要从 OceanBase 数据库消费增量日志时,请在 sys 租户下创建用户 # drc user 需要在待迁移的 OceanBase 集群 sys 租户下创建,然后在 OMS 的 config.yaml 文件中指定 drc_user: oms_user drc_password: oms_user # OMS 集群配置 # 单节点部署时,通常配置为当前 OMS 机器 IP(建议使用内网 IP) cm_url: 172.20.10.177 cm_location: 22 # 单节点部署时,无需设置 cm_region # cm_region: ${cm_region} # 单节点部署时,无需设置 cm_region_cn # cm_region_cn: ${cm_region_cn} cm_is_default: true cm_nodes: - 172.20.10.177 # 时序数据库配置 # 默认值为 false。如果您需要开启指标汇报功能,请设置为 true

通过部署脚本启动部署工具

注意:此处我们指定了配置文件,如果没有指定配置文件,屏幕会依交互式的方式让你输入配置文件中的内容,是一样的,安装完成访问http://ip:8088,初始用户名是:admin 的默认登录密码为 aaAA11__。(我就不安装了,我的8G古董笔记本虚拟机死机好几次了)

./docker_remote_deploy.sh -o /oms -c /soft/config.yaml -i 172.20.10.177 -d 79d360e47f56

总结

  1. 在安装过程中如果提示端口被占用,可以使用lsof -i:{端口号} 找到占用的pid删掉。
  2. 如果在安装过程中出现错误,可以先把docker容器kill掉,在删除容器,重新创建容器,执行步骤如下:
[root@miniob soft]# docker kill 01a4d3f15995 01a4d3f15995 [root@miniob soft]# docker rm 01a4d3f15995 01a4d3f15995 [root@miniob soft]# ./docker_remote_deploy.sh -o /oms -c /soft/config.yaml -i 172.20.10.177 -d 79d360e47f56
  1. 之前也写过OMS和OBloader的数据迁移性能测试,请参考https://www.modb.pro/db/413234,另外obloader的使用方法请参考https://www.modb.pro/db/538804
最后修改时间:2023-03-03 16:36:28
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论