OceanBase社区版集群搭建+proxy

本文详细介绍如何在CentOS 7.9环境下部署OceanBase数据库集群及Obproxy,包括环境初始化、集群配置与启动步骤,并演示如何通过Obclient连接数据库进行基本操作。

前言:

     OceanBase开源了,本篇搭建OceanBase社区版集群+Obproxy

关于Oceanbase

     OceanBase 数据库是蚂蚁集团不基于任何开源产品,自研的企业级分布式关系数据库。 一款完全自研的原生分布式关系数据库软件,产品具有云原生、强一致性、高度兼容MySQL等特性。目前社区版暂不兼容 Oracle数据库 。社区版地址: https://open.oceanbase.com/

	高可用:   单服务器故障能够自愈,支持跨城多机房容灾,数据零丢失,可满足金融行业6级容灾标准(RPO=0,RTO<=30秒)。
	线性扩展: 透明扩展,自动负载均衡,应用透明的水平扩展,集群规模可超过1500节点,数据量可达 PB 级,单表记录万亿行。
	MySQL     高度兼容:兼容 MySQL 协议、语法和使用习惯,MySQL客户端工具可以直接访问OceanBase。
	高性能:   准内存级数据变更操作、独创的编码压缩技术,结合线性水平扩展,TPC-C 测试达到7.07亿 tpmC。
	低成本:   使用 PC 服务器和低端 SSD,高存储压缩率降低存储成本,高性能降低计算成本,多租户混部充分利用系统资源。
	多租户:   原生支持多租户构架,同一套数据库集群可以为多个独立业务提供服务,租户间数据隔离,降低部署和运维成本。
部署环境
采用1+1+1+obproxy集群策略
  
系统:centos7.9
cou:16
内存:32GB
磁盘:1TB
节点分布: 
192.168.42.122:  `ob1+obprox`
192.168.42.123:  `ob2`
192.168.42.124:  `ob3`

在这里插入图片描述

初始化准备
  1. 修改主机名
[root@localhost ~]# SSH root@192.168.42.122 
[root@localhost ~]# hostnamectl set-hostname OB1
[root@localhost ~]# SSH root@192.168.42.123 
[root@localhost ~]# hostnamectl set-hostname OB2
[root@localhost ~]# SSH root@192.168.42.124 
[root@localhost ~]# hostnamectl set-hostname OB3
  1. 关闭三台防火墙和selinux
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config &&  setenforce 0
  1. 设置用户会话
echo"* soft nofile 655350
* hard nofile 655350
* soft stack 20480
* hard stack 20480
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited" >>/etc/security/limits.conf

  1. 设置内核

echo"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
kernel.core_pattern = /data/1/core-%e-%p-%t
vm.min_free_kbytes = 2097152
vm.max_map_count=655360" > /etc/sysctl.conf && sysctl -p
  1. 设置免密登录
OB1上操作
ssh-keygen -t rsa  #默认全部回车
ssh root@192.168.42.123  'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub 
ssh root@192.168.42.124  'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub #推送公钥到 123/124上
  1. 设置时间同步
OB1/2/3操作
yum –y install ntp  # 下载NTP服务


OB1作为时间同步服务器,修改OB1 ntp配置
echo"driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
restrict 192.168.42.122 nomodify notrap nopeer noquery
restrict 192.168.42.0 mask 255.255.252.0 nomodify notrap
server 0.cn.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor" > /etc/ntp.conf


OB2同步OB1配置
echo"driftfile /var/lib/ntp/drift
restrict 127.0.0.1 
restrict ::1
server 192.168.42.122
Fudge 192.168.42.122 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor" > /etc/ntp.conf

OB3同步OB1配置
echo"driftfile /var/lib/ntp/drift
restrict 127.0.0.1 
restrict ::1
server 192.168.42.122
Fudge 192.168.42.122 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor" > /etc/ntp.conf


验证:
在OB2/OB3上执行  " ntpstat "
[root@O2]# ntpstat
synchronised to NTP server (192.168.42.122) at stratum 4
   time correct to within 143 ms
   polling server every 1024 s
   
返回以上信息,同步成共
使用OBD搭建observer集群和Proxy

这是OBD工具的开源地址:https://gitee.com/oceanbase/obdeploy
简介:
OceanBase Deploy (简称 OBD)是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。本文介绍如何安装 OBD、使用 OBD 和 OBD 的命令。

  1. 在OB1上部署OBD
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
yum install -y ob-deploy

  1. 编辑一个yaml的配置文件 ,使用OBD根据这个yaml文件即可自动创建集群
vim obd_observer_obproxy.yaml
##内容如下,可根据机器配置进行修改,另外官方也给有系统参数说明,可去开源社区看
## Only need to configure when remote login is req
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

king config

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

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

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

打赏作者

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

抵扣说明:

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

余额充值