使用OBD部署一个OceanBase 三副本集群并使用Promethues监控OB(在不同节点)

0    296    3

👉 本文共约5643个字,系统预计阅读时间或需22分钟。

说明

相关连接:

https://open.oceanbase.com/blog/10900159

https://open.oceanbase.com/answer/detail?id=13700844

练习目的

本次练习目的掌握 OceanBase 集群的自动化部署(OBD工具)技术,能自动部署OB集群,包含 OBProxy,以及部署 OBAgent 等。

练习条件

  • 有 服务器,内存资源至少 12G*3台 或者 32G*1

练习内容

请记录并分享下列内容:

  1. (必选)部署 OBD 软件,离线或者在线都可以。
  2. (必选)使用 OBD 部署一套三副本集群(单机3节点或者3节点都可以),部署至少1个 OBProxy。
  3. (必选)部署至少一个 OBAgent 。
  4. (可选)部署 Promethues ,能查看采集的 OB 性能或状态数据。
  5. (可选)部署 Grafana,能使用 OB 的性能模板查看 OB性能数据。

环境规划

参考:https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.1/deploy-the-distributed-oceanbase-cluster

环境是这样的,只有一台虚拟机,配置16c80G,准备使用docker来模拟出4台CentOS主机,搭建OceanBase 3.1.1社区版的集群。OBServer每台至少需要8G内存,否则不能启动。

具体配置如下所示:

主机名IP端口主机映射端口Zone作用
lhrob1172.72.8.11288128811zone1OB Server1、OBAgent
lhrob2172.72.8.12288128812zone2OB Server2、OBAgent
lhrob3172.72.8.13288128813zone3OB Server3、OBAgent
lhrobproxy172.72.8.14288328814用于OBD、OBProxy、OBClient、mysql、Promethues、Grafana、OB客户端、时间服务器等

OBAgent是OceanBase社区版数据库服务监控组件。

OBD 全称是 OceanBase Deployer,是 OceanBase 社区版的命令行下自动化部署软件。

ODP:OceanBase 数据库代理,简称为 ODP。ODP 是 OceanBase 数据库专用的连接代理软件。ODP 的核心功能包括:保证最佳路由,避免分布式事务;保护 OceanBase 数据库的高可用能力,单台服务器故障不影响应用。

初始化准备

申请环境

配置时钟源

参考:https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.1/optional-configuring-clock-sources

如果您使用集群安装 OceanBase,则需要保证集群内各机器的时间同步。否则集群无法启动,服务在运行时也会出现异常。如果您已配置 NTP 时钟同步,则无需重新配置。

OceanBase 集群中的服务器时间必须保持一致,否则会导致 OceanBase 集群无法启动,运行时也会出现故障。物理机与时钟服务器的误差在 50ms 以下可认为时钟是同步状态,OceanBase 集群最大容忍误差不能超过 100ms。当超过 100ms 时,会出现无主情况。恢复时钟同步后。重启 OceanBase 集群, 可以恢复正常。

部署 OceanBase 集群时,各个 OBServer 的 RPC 允许的时钟偏差最大是100ms。

这里以“172.72.8.14”为时间服务器,其它3台OBServer同步该机器的时间:

1、修改“172.72.8.14”为时间服务器/etc/ntp.conf

配置开机启动:

其它客户端,修改“/etc/ntp.conf”,注释server开头的行,并添加如下行:

配置开机启动:

客户端配置自动同步:

检查:

  • 机器三节点之间时间同步检查,检查本机和目标节点时间误差常用命令是: clockdiff

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

delta = 目标主机减当前主机时间 ,时间单位是毫秒。

三节点时间同步误差如果超过 50ms,则后面初始化集群一定会失败。 这里还要留意节点的时间误差可能有个缓慢递增的特点,也许当前集群还能正常工作,一天后由于节点时间误差扩大到 50ms 以外,该节点就掉线了。

配置内核参数

4个节点都运行:

如果只是测试,您可以只设置 fs.aio-max-nr=1048576

创建用户

设置无密码SSH登陆

可以使用rac上的sshUserSetup.sh快速配置,只在lhrobproxy上运行:

安装集群

在lhrobproxy操作:

安装OBD

设置yaml的配置文件

OBD 针对不同的部署场景提供不同的配置文件。这些配置文件示例在 OceanBase 开源项目地址里,具体是:https://github.com/oceanbase/obdeploy/tree/master/example

OBD根据这个yaml文件即可自动创建集群。

使用OBD安装集群

执行过程:

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    10 − 7 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部