赞
踩
目录
OceanBase 数据库(OceanBase Database)是一款蚂蚁集团完全自研的企业级原生分布式数据库,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,刷新 TPC-C 标准测试,单集群规模超过 1500 节点,具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性。
如图所示,数据服务层表示一个 OceanBase 数据库集群。该集群由三个子集群(Zone)组成,一个 Zone 由多台物理机器组成,每台物理机器称之为数据节点(OBServer 节点)。OceanBase 数据库采用 Shared-Nothing 的分布式架构,每个数据节点都是对等的。
OceanBase 数据库中存储的数据分布在一个 Zone 的多个数据节点上,其它 Zone 存放多个数据副本。如图所示的 OceanBase 数据库集群中的数据有三个副本,每个 Zone 存放一份。这三个 Zone 构成一个整体的数据库集群,为用户提供服务。
根据部署方式的不同,OceanBase 数据库可以实现各种级别容灾能力:
当数据库集群部署在一个机房的多台服务器时,实现服务器级别容灾。当集群的服务器在一个地区的多个机房中时,能够实现机房级别容灾。当集群的服务器在多个地区的多个机房中时,能够实现地区级别容灾。
角色 | 机器 | 备注 |
---|---|---|
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
将会话级别的最大栈空间大小设置为 unlimited
,最大文件句柄数设置为 655350
,Core 文件大小设置为 unlimited。
vi /etc/security/limits.conf
root soft nofile 655350
root hard nofile 655350
* soft nofile 655350
* hard nofile 655350
* soft stack 20480
* hard stack 20480
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
vi /etc/sysctl.conf
#for oceanbase
#修改内核异步 I/O 限制
fs.aio-max-nr=1048576#网络优化
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216net.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 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
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=0vm.swappiness = 0
vm.min_free_kbytes = 2097152
#修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360#此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /oceanbase/data/core-%e-%p-%t
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
vi /etc/selinux/config
mkdir -p /oceanbase/data
mkdir -p /oceanbase/redo
chown -R obadmin:obadmin /oceanbase
ssh-keygen #一路回车
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys#复制文件到其他服务器
scp -rp ~/.ssh 192.168.1.220: #最后是英文冒号
scp -rp ~/.ssh 192.168.1.225: #最后是英文冒号
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-100120230423105040.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)修改配置文件(all-components-min.yaml)
a)修改用户名和密码
b)修改机器的 IP、端口和相关目录,并配置内存相关参数及密码。
c)修改网络适配器名称
d)配置 obproxy-ce 组件并修改 IP 和 home_path
e)修改 obagent 和 ocp-express 组件的 IP 和 home_path。
(2)部署 OceanBase 集群
obd cluster deploy obtest -c conf/all-components-min.yaml
(3)启动 OceanBase 集群
obd cluster start obtest
执行 obd web
命令启动白屏界面,具体参考官网配置:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220851
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
mysql -uroot -P2883 -h192.168.1.219 -Doceanbase -A
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。