合 使用OBD部署一个OceanBase 三副本集群并使用Promethues监控OB(在不同节点)
Tags: 高可用监控环境搭建OceanBaseGrafana分布式数据库
- OceanBase Docker安装体验:https://www.xmmup.com/oceanbase-dockeranzhuangtiyan.html
- 手动部署 OceanBase 单副本集群:https://www.xmmup.com/shoudongbushu-oceanbase-danfubenjiqun.html
- 手动部署 OceanBase 三副本集群(在同一个节点):https://www.xmmup.com/shoudongbushu-oceanbase-sanfubenjiqunzaitongyigejiedian.html
说明
相关连接:
https://open.oceanbase.com/blog/10900159
https://open.oceanbase.com/answer/detail?id=13700844
练习目的
本次练习目的掌握 OceanBase 集群的自动化部署(OBD工具)技术,能自动部署OB集群,包含 OBProxy,以及部署 OBAgent 等。
练习条件
- 有 服务器,内存资源至少
12G*3
台 或者32G*1
台
练习内容
请记录并分享下列内容:
- (必选)部署 OBD 软件,离线或者在线都可以。
- (必选)使用 OBD 部署一套三副本集群(单机3节点或者3节点都可以),部署至少1个 OBProxy。
- (必选)部署至少一个 OBAgent 。
- (可选)部署 Promethues ,能查看采集的 OB 性能或状态数据。
- (可选)部署 Grafana,能使用 OB 的性能模板查看 OB性能数据。
环境规划
环境是这样的,只有一台虚拟机,配置16c80G,准备使用docker来模拟出4台CentOS主机,搭建OceanBase 3.1.1社区版的集群。OBServer每台至少需要8G内存,否则不能启动。
具体配置如下所示:
主机名 | IP | 端口 | 主机映射端口 | Zone | 作用 |
---|---|---|---|---|---|
lhrob1 | 172.72.8.11 | 2881 | 28811 | zone1 | OB Server1、OBAgent |
lhrob2 | 172.72.8.12 | 2881 | 28812 | zone2 | OB Server2、OBAgent |
lhrob3 | 172.72.8.13 | 2881 | 28813 | zone3 | OB Server3、OBAgent |
lhrobproxy | 172.72.8.14 | 2883 | 28814 | 用于OBD、OBProxy、OBClient、mysql、Promethues、Grafana、OB客户端、时间服务器等 |
OBAgent是OceanBase社区版数据库服务监控组件。
OBD 全称是 OceanBase Deployer,是 OceanBase 社区版的命令行下自动化部署软件。
ODP:OceanBase 数据库代理,简称为 ODP。ODP 是 OceanBase 数据库专用的连接代理软件。ODP 的核心功能包括:保证最佳路由,避免分布式事务;保护 OceanBase 数据库的高可用能力,单台服务器故障不影响应用。
初始化准备
申请环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | docker network create --subnet=172.72.8.0/24 lhrob-network docker network inspect lhrob-network docker rm -f lhrob1 lhrob2 lhrob3 lhrobproxy docker run -d --name lhrob1 -h lhrob1 \ --net=lhrob-network --ip 172.72.8.11 \ -p 28811:2881 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true lhrbest/lhrcentos76:8.5 \ /usr/sbin/init docker run -d --name lhrob2 -h lhrob2 \ --net=lhrob-network --ip 172.72.8.12 \ -p 28812:2881 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true lhrbest/lhrcentos76:8.5 \ /usr/sbin/init docker run -d --name lhrob3 -h lhrob3 \ --net=lhrob-network --ip 172.72.8.13 \ -p 28813:2881 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true lhrbest/lhrcentos76:8.5 \ /usr/sbin/init docker run -d --name lhrobproxy -h lhrobproxy \ --net=lhrob-network --ip 172.72.8.14 \ -p 28814:2883 -p 23000:3000 -p 29090:9090 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true lhrbest/lhrcentos76:8.5 \ /usr/sbin/init docker exec -it lhrobproxy bash [root@docker35 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 494cb2a2cafe lhrbest/lhrcentos76:8.5 "/usr/sbin/init" 26 minutes ago Up 26 minutes 0.0.0.0:28814->2883/tcp, :::28814->2883/tcp lhrobproxy 06d2587bbd61 lhrbest/lhrcentos76:8.5 "/usr/sbin/init" 26 minutes ago Up 26 minutes 0.0.0.0:28813->2881/tcp, :::28813->2881/tcp lhrob3 969ca85b3bea lhrbest/lhrcentos76:8.5 "/usr/sbin/init" 26 minutes ago Up 26 minutes 0.0.0.0:28812->2881/tcp, :::28812->2881/tcp lhrob2 f86e1423e13a lhrbest/lhrcentos76:8.5 "/usr/sbin/init" 26 minutes ago Up 26 minutes 0.0.0.0:28811->2881/tcp, :::28811->2881/tcp lhrob1 |