目录
一、体系架构
二、集群规划
三、配置要求
四、部署前配置
1.配置 limits.conf
2.配置 sysctl.conf
3.关闭防火墙
4.关闭 SELinux
5.创建数据目录,修改文件所有者信息
6.设置无密码 SSH 登录
7.安装jdk
五、解压执行安装
六、集群部署
1.OBD命令行部署
2. OBD白屏部署
七、访问数据库
1.使用obclient访问
2.使用mysql客户端访问
OceanBase 数据库(OceanBase Database)是一款蚂蚁集团完全自研的企业级原生分布式数据库,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,刷新 TPC-C 标准测试,单集群规模超过 1500 节点,具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性。
一、体系架构
如图所示,数据服务层表示一个 OceanBase 数据库集群。该集群由三个子集群(Zone)组成,一个 Zone 由多台物理机器组成,每台物理机器称之为数据节点(OBServer 节点)。OceanBase 数据库采用 Shared-Nothing 的分布式架构,每个数据节点都是对等的。
OceanBase 数据库中存储的数据分布在一个 Zone 的多个数据节点上,其它 Zone 存放多个数据副本。如图所示的 OceanBase 数据库集群中的数据有三个副本,每个 Zone 存放一份。这三个 Zone 构成一个整体的数据库集群,为用户提供服务。
根据部署方式的不同,OceanBase 数据库可以实现各种级别容灾能力:
- 服务器(Server)级无损容灾:能够容忍单台服务器不可用,自动无损切换。
- 机房(Zone)级无损容灾:能够容忍单个机房不可用,自动无损切换。
- 地区(Region)级无损容灾:能够容忍某个城市整体不可用,自动无损切换。
当数据库集群部署在一个机房的多台服务器时,实现服务器级别容灾。当集群的服务器在一个地区的多个机房中时,能够实现机房级别容灾。当集群的服务器在多个地区的多个机房中时,能够实现地区级别容灾。
二、集群规划
| 角色 | 机器 | 备注 |
|---|---|---|
| OBD | 192.168.1.219 | 安装在中控机上的自动化部署软件 |
| OBServer 节点 | 192.168.1.219 | OceanBase 数据库 Zone1 |
| OBServer 节点 | 192.168.1.220 | OceanBase 数据库 Zone1 |
| OBServer 节点 | 192.168.1.225 | OceanBase 数据库 Zone1 |
| OBAgent | 192.168.1.[219,220,225] | OceanBase 数据库监控采集框架 |
本案例采用的是单Zone多OBserver机器模式即数据库集群部署在一个机房的多台服务器上,实现服务器级别的容灾。
三、配置要求
1.Linux操作系统
2.安装jdk
3.可用内存不少于8G(生产环境最低要求 16 GB,长期使用要求不低于 32 GB,推荐 256 GB 及以上)
4.安装目录空间不少于50G
四、部署前配置
1.配置 limits.conf
将会话级别的最大栈空间大小设置为 unlimited,最大文件句柄数设置为 ,Core 文件大小设置为 unlimited。
vi /etc/security/limits.conf
root soft nofile
root hard nofile
* soft nofile
* hard nofile
* soft stack 20480
* hard stack 20480
* soft nproc
* hard nproc
* soft core unlimited
* hard core unlimited

2.配置 sysctl.conf
vi /etc/sysctl.conf
#for oceanbase
#修改内核异步 I/O 限制
fs.aio-max-nr=#网络优化
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default =
net.core.wmem_default =
net.core.rmem_max =
net.core.wmem_max =net.ipv4.ip_local_port_range = 3500 65535
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rmem = 4096 87380
net.ipv4.tcp_wmem = 4096 65536
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_slow_start_after_idle=0
vm.swappiness = 0
vm.min_free_kbytes =
#修改进程可以拥有的虚拟内存区域数量
vm.max_map_count =

3.关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

4.关闭 SELinux
vi /etc/selinux/config

5.创建数据目录,修改文件所有者信息
mkdir -p /oceanbase/data
mkdir -p /oceanbase/redo
chown -R obadmin:obadmin /oceanbase

6.设置无密码 SSH 登录
#复制文件到其他服务器

7.安装jdk
OBD所在服务器需要安装jdk。OBD默认使用/usr/bin/java命令,所以还需要配置软连接:
ln -s /home/obadmin/tools/jdk1.8.0_202/bin/java /usr/bin/java
五、解压执行安装
1.解压:tar -zxf oceanbase-all-in-one-4.1.0.0-.el7.x86_64.tar.gz

2.进入解压目录 oceanbase-all-in-one,执行:./bin/install.sh 安装

3.配置环境变量
source ~/.oceanbase-all-in-one/bin/env.sh
4.禁用远程仓库
obd mirror disable remote
六、集群部署
集群部署可以使用obd命令行或者obd白屏两种方法部署。
1.OBD命令行部署
(1)修改配置文件(all-components-min.yaml)
a)修改用户名和密码

b)修改机器的 IP、端口和相关目录,并配置内存相关参数及密码。

c)修改网络适配器名称

d)配置 obproxy-ce 组件并修改 IP 和 home_path

e)修改 obagent 和 ocp-express 组件的 IP 和 home_path。



2. OBD白屏部署
执行 obd web 命令启动白屏界面,具体参考官网配置:https://www.oceanbase.com/docs/common-oceanbase-database-cn-20851
七、访问数据库
1.使用obclient访问
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
2.使用mysql客户端访问
mysql -uroot -P2883 -h192.168.1.219 -Doceanbase -A




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/33454.html