当前位置:   article > 正文

OceanBase:03-集群部署_oceanbase集群

oceanbase集群

目录

一、体系架构

二、集群规划

三、配置要求

四、部署前配置

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)级无损容灾:能够容忍某个城市整体不可用,自动无损切换。

        当数据库集群部署在一个机房的多台服务器时,实现服务器级别容灾。当集群的服务器在一个地区的多个机房中时,能够实现机房级别容灾。当集群的服务器在多个地区的多个机房中时,能够实现地区级别容灾。

二、集群规划

角色机器备注
OBD192.168.1.219安装在中控机上的自动化部署软件
OBServer 节点192.168.1.219OceanBase 数据库 Zone1
OBServer 节点192.168.1.220OceanBase 数据库 Zone1
OBServer 节点192.168.1.225OceanBase 数据库 Zone1
OBAgent192.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,最大文件句柄数设置为 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

2.配置 sysctl.conf

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 = 16777216

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 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=0

vm.swappiness = 0
vm.min_free_kbytes = 2097152
#修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360

#此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /oceanbase/data/core-%e-%p-%t

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 登录

ssh-keygen  #一路回车
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

#复制文件到其他服务器

scp -rp ~/.ssh 192.168.1.220:     #最后是英文冒号
scp -rp ~/.ssh 192.168.1.225:     #最后是英文冒号

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-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.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

2. OBD白屏部署

        执行 obd web 命令启动白屏界面,具体参考官网配置:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220851

七、访问数据库

1.使用obclient访问

        obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A

2.使用mysql客户端访问

        mysql -uroot -P2883 -h192.168.1.219 -Doceanbase -A

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/168032
推荐阅读
  

闽ICP备14008679号