OceanBase:02-单机部署(生产环境)

目录

一、体系架构

 二、部署规划

三、配置要求

四、部署前配置

1.配置 limits.conf

2.配置 sysctl.conf

3.关闭防火墙

4.关闭 SELinux

5.创建数据目录,修改文件所有者信息

6.设置无密码 SSH 登录

7.安装jdk

五、解压执行安装

六、OBD命令行部署

1.修改配置文件(all-components-min.yaml)

2.部署 OceanBase 集群

3.启动 OceanBase 集群

七、访问数据库

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 数据库节点
OBProxy192.168.1.219OceanBase 高性能反向代理服务器
OBAgent192.168.1.219OceanBase 数据库监控采集框架

三、配置要求

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

c83c38bd4869409cb9b27eaf5041c42b.png

        需查看 /etc/security/limits.d/20-nproc.conf 文件中是否存在 nproc 的配置,若存在需同步修改该文件中 nproc 的值。

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

fs.file-max = 6573688
#修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360

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

27b53f75cf2444b6993da247e6dbfc5e.png

3.关闭防火墙

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

a8862054761f457f966b3fea0bb1cd29.png

4.关闭 SELinux

vi /etc/selinux/config

a0c0cf17d81d4defbe3afb4e192819a5.png

5.创建用户和数据目录

        OceanBase后续的扩容默认使用admin用户,因此这里最好同步创建该账号。

#新建用户并修改密码

useradd admin

passwd admin

账户 admin 设置 sudo 权限

vim /etc/sudoers


添加如下内容:
#Same thing without a password
#%wheel        ALL=(ALL)       NOPASSWD: ALL
admin       ALL=(ALL)       NOPASSWD: ALL

创建数据目录

mkdir -p /oceanbase/data

mkdir -p /oceanbase/redo

chown -R admin:admin /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/admin/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部署集群

1.配置OBD

        通过解压 all-in-one 安装包的方式安装,则可在 ~/.oceanbase-all-in-one/obd/usr/obd/example 目录下查看 OBD 提供的配置文件示例。

        小规格开发模式,适用于个人设备(内存不低于 8 GB):

  • 本地单机部署配置样例:mini-local-example.yaml
  • 单机部署配置样例:mini-single-example.yaml
  • 单机部署 + ODP 配置样例:mini-single-with-obproxy-example.yaml
  • 分布式部署 + ODP 配置样例:mini-distributed-with-obproxy-example.yaml
  • 分布式部署 + ODP + OCP Express 配置样例:default-components-min.yaml
  • 分布式部署全部组件:all-components-min.yaml

        专业开发模式,适用于高配置 ECS 或物理服务器(可用资源不低于 16 核 64 GB):

  • 本地单机部署配置样例:local-example.yaml
  • 单机部署配置样例:single-example.yaml
  • 单机部署 + ODP 配置样例:single-with-obproxy-example.yaml
  • 分布式部署 + ODP 配置样例:distributed-with-obproxy-example.yaml
  • 分布式部署 + ODP + OCP Express 配置样例:default-components.yaml
  • 分布式部署全部组件:all-components.yaml

        复制~/.oceanbase-all-in-one/conf/mini-single-example.yaml 文件,到当前目录的conf目录(conf目录需要创建),以单机实例部署。

    a)修改用户名和密码
    
    b)修改oceanbase-ce机器的 IP、端口和相关目录,并配置内存相关参数及密码。
    
    c)修改oceanbase-ce网络适配器名称
    


   2.部署 OceanBase 集群

        obd cluster deploy obtest -c conf/mini-single-example.yaml

3.启动 OceanBase 集群

        obd cluster start obtest

七、访问数据库

1.使用obclient访问

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

2.使用mysql客户端访问

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

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_37559973

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值