OceanBase社区版之OBD方式部署分布式集群
一、分布式安装简介
分布式安装,即中控机器和目标机器不是同一台机器,且目标机器有多台。内存低于 64G 建议使用 OBD 部署集群,不建议使用 OCP 部署小规格集群。博主只是做分布式安装测试,如果是生产实际使用建议还是按照官网要求配置硬件资源。本文采用三副本部署模式,使用四台机器。其中:使用一台机器部署 ODP和OBD;使用三台机器部署 OceanBase 集群。
- 中控机器:存储 OceanBase 数据库安装包和集群配置信息的机器。
- 目标机器:安装 OceanBase 数据库的机器。
- OBD:OceanBase Deployer,OceanBase 开源软件的安装部署工具,简称为 OBD。
- ODP:OceanBase Database Proxy,OceanBase 高性能反向代理服务器,简称为 ODP。
二、资源规划
序号 | 主机名 | IP | 用途 | 系统 | 配置 |
---|---|---|---|---|---|
1 | s152 | 192.168.0.152 | 中控机/ODP | centos7.6 | 4c,8G内存,80G磁盘空间 |
2 | s153 | 192.168.0.153 | 目标机 | centos7.6 | 4c,8G内存,80G磁盘空间 |
3 | s154 | 192.168.0.153 | 目标机 | centos7.6 | 4c,8G内存,80G磁盘空间 |
4 | s155 | 192.168.0.153 | 目标机 | centos7.6 | 4c,8G内存,80G磁盘空间 |
三、安装步骤
1、按照环境准备配置服务器
参照OceanBase社区版之OBD方式部署方式本地安装环境准备章节给s152和s153服务器配置系统ntp、sysctl.conf等基础配置。
2、磁盘规划
在操作系统安装的时候已经创建了/data,/redo分区,只需要将这两个分区授权给安装用户即可,博文实验中安装用户为wuhs。
[root@s153 ~]# chown -R wuhs.wuhs /data
[root@s153 ~]# chown -R wuhs.wuhs /redo
[root@s154 ~]# chown -R wuhs.wuhs /data
[root@s154 ~]# chown -R wuhs.wuhs /redo
[root@s155 ~]# chown -R wuhs.wuhs /data
[root@s155 ~]# chown -R wuhs.wuhs /redo
3、s152安装yum-utils
[wuhs@s152 ~]$ sudo yum install -y yum-utils
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] wuhs 的密码:
…
已安装:
yum-utils.noarch 0:1.1.31-54.el7_8
…
完毕!
4、s152下载OceanBase YUM源repo文件
[wuhs@s152 ~]$ sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
已加载插件:fastestmirror
adding repo from: https://mirrors.aliyun.com/oceanbase/OceanBase.repo
grabbing file https://mirrors.aliyun.com/oceanbase/OceanBase.repo to /etc/yum.repos.d/OceanBase.repo
repo saved to /etc/yum.repos.d/OceanBase.repo
[wuhs@s152 ~]$ ll /etc/yum.repos.d/
总用量 36
-rw-r–r–. 1 root root 1664 11月 23 2018 CentOS-Base.repo
-rw-r–r–. 1 root root 1309 11月 23 2018 CentOS-CR.repo
-rw-r–r–. 1 root root 649 11月 23 2018 CentOS-Debuginfo.repo
-rw-r–r–. 1 root root 314 11月 23 2018 CentOS-fasttrack.repo
-rw-r–r–. 1 root root 630 11月 23 2018 CentOS-Media.repo
-rw-r–r–. 1 root root 1331 11月 23 2018 CentOS-Sources.repo
-rw-r–r–. 1 root root 5701 11月 23 2018 CentOS-Vault.repo
-rw-r–r–. 1 root root 512 5月 14 2021 OceanBase.repo
5、s152安装OBD
[wuhs@s152 ~]$ sudo yum install -y ob-deploy
…
已安装:
ob-deploy.x86_64 0:1.3.3-11.el7
完毕!
6、s152安装OBLibs
[wuhs@s152 ~]$ sudo yum install -y oceanbase-ce-libs
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
…
已安装:
oceanbase-ce-libs.x86_64 0:3.1.3-10100032022041510.el7
完毕!
7、s152安装OBclient
[wuhs@s152 ~]$ sudo yum install -y obclient
…
已安装:
obclient.x86_64 0:2.0.1-2.el7
作为依赖被安装:
libobclient.x86_64 0:2.0.1-3.el7
完毕!
8、下载分布式安装配置文件
访问官网distributed-with-obproxy-example.yaml,将配置文件拷贝到服务器上保存为distributed.yaml。
9、配置用户名密码
配置用户名密码,用于集群发布的时候远程ssh连接,当然我们也可以配置ssh免密。
10、修改oceanbase-ce配置内容
自定义配置observer集群各节点的名字和IP,以及OceanBase的home目录,数据存储目录和redo日志目录。
11、配置 ODP 并修改 IP 和 home_path
配置ODP的参数信息,主要配置server的IP地址和OceanBase的安装目录。
12、创建OceanBase安装目录
13、部署 OceanBase 集群
[wuhs@s152 ~]$ obd cluster autodeploy myob -c distributed.yaml
14、检查集群状态
我们可以先使用obd cluster list查看集群的状态,还可以使用 obd cluster display obclustername查看集群下各节点的状态。
15、连接OceanBase数据库
16、创建一个普通租户
- 使用OBD方式创建一个普通租户,此方式会自动创建资源单元和资源池,命令格式为:
#obd cluster tenant create ${cluster_name} -n ${tenant_name}
[wuhs@s152 ~]$ obd cluster tenant create myob -n wuhs
Get local repositories and plugins ok
Open ssh connection ok
Connect to observer ok
Create tenant wuhs ok
- 使用 SQL 语句创建普通租户,此方式需要我们先手动创建资源单元和资源池。命令格式为:CREATE TENANT IF NOT EXISTS test_tenant charset=‘utf8mb4’, replica_num=3, zone_list=(‘zone1’,‘zone2’,‘zone3’), primary_zone=‘RANDOM’, resource_pool_list=(‘pool1’);
四、QA
1、集群发布的时候报错内存不足
- 报错信息
- 报错原因:OceanBase部署要求free内存8G以上,期初创建虚拟机的时候是整个虚拟机分配内存8192M内存,系统占用一部分后free内存不足8G。
- 解决方案:扩容内存,保障可用内存8G以上。
2、发布的集群的时候报错连接observer失败
- 报错信息:
- 报错原因:系统防火墙未关闭,再扩容内存后重启了系统,firewalld开机自启动了。
- 解决方案:systemctl stop firewalld停止防火墙。
更多的常见问题错误码及处置方案见官网https://open.oceanbase.com/docs/obd-cn/V1.3.0/10000000000099584。
相关文章
- 图数据平台解决方案:集群部署
- 部署nginx web集群
- Galera Cluster集群部署
- pulsar集群部署
- 大数据Flink进阶(十):Flink集群部署
- 实现快速、高效的 Linux 集群部署(linux集群部署)
- Oracle集群架构:配置文件指南(oracle集群配置文件)
- mysql容器化部署:利用 Docker 搭建 Redis MySQL 集群服务(dockerredis)
- Kubernetes中部署tomcat与mysql集群教程
- 灵活部署提升线上常用Redis集群性能(线上常用redis集群)
- 基于Solr与Redis的集群部署研究(solr和redis集群)
- 如何正确部署分布式Redis集群(分布式redis怎么部署)
- 解析Redis集群部署开启高效稳定的分布式存储(redis集群部署解析)
- Redis集群部署 助你极速分布式管理(redis 集群部署方式)
- 浅谈Redis集群诊断工具的使用(redis集群诊断工具)
- 深入浅出如何查看Redis集群节点信息(redis集群节点查看)
- Redis集群的连接池管理机制(redis集群程序连接池)
- Redis集群热部署实现高可用(redis 集群热部署)
- Redis集群模式从搭建到部署(redis集群模式的搭建)
- 节点Redis集群最少三个节点(redis 集群最少几个)
- Redis集群搭建简单而高效的方法(redis集群搭建 简书)
- 如何更准确地评估Redis集群的内存使用(redis集群内存如何算)
- Redis集群IP错误出现了什么(redis集群ip有错)
- Redis集群单数台部署的优势(redis集群单数台)
- 节点灾备部署Redis集群依然保证单节点灾备(redis集群单数台)
- Redis主从集群搭建精准配置实现可靠部署(redis配置主从机器)
- 快速部署高可用的ClickHouse集群