数据库管理-第378期 OceanBase 4.3.5社区版集群部署(20251021)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE
10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809
IFClub:胖头鱼的鱼缸
除授权转载并标明出处外,均为“非法”抄袭
之前换有128G内存的幻X,还有个目的是可以更加完整的部署国产分布式数据库集群,这样对数据库的部署、架构和使用会有更深入的了解,本期是在RHEL8.10上部署OceanBase 4.3.5。
1 服务器配置与安装截止
共准备6台服务器,配置如下:
使用离线部署方式,安装介质为oceanbase-all-in-one-4.3.5_bp4_20250910.el8.x86_64.tar.gz
2 操作系统配置
2.1 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
2.2 关闭SELinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
[reboot]
2.3 时间同步配置
在生产环境中可以使用NTP或chrony实现时间同步。
本次由于使用公网时间同步,相关配置省略。
2.4 配置/etc/hosts
cat >> /etc/hosts <<EOF
10.10.10.201 db01
10.10.10.202 db02
10.10.10.203 db03
10.10.10.204 db04
10.10.10.205 db05
10.10.10.206 db06
EOF
2.5 透明大页内存检查
cat /sys/kernel/mm/transparent_hugepage/enabled
#如果上面返回结果不是never则需要进行以下配置
cat >>/etc/rc.d/rc.local <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
chmod +x /etc/rc.d/rc.local
[reboot]
2.6 配置limits.conf
cat >> /etc/security/limits.conf <<EOF
root soft nofile 655350
root hard nofile 655350
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
EOF
2.7 配置sysctl.conf
cat >> /etc/sysctl.conf <<EOF
#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_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 1
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_slow_start_after_idle = 0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.overcommit_memory = 0
fs.file-max = 6573688
fs.pipe-user-pages-soft = 0
#修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360
#此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /oceanbase/data/core-%e-%p-%t
EOF
sysctl -p
2.8 配置本地yum源
mkdir /iso
mount -r /dev/sr0 /iso
rm -rf /etc/yum.repo.d/*
cat > /etc/yum.repos.d/iso.repo <<EOF
[AppStream]
name=AppStream
baseurl=file:///iso/AppStream
gpgcheck=0
enabled=1
[BaseOS]
name=BaseOS
baseurl=file:///iso/BaseOS
gpgcheck=0
enabled=1
EOF
2.9 创建用户并配置sudo免密
groupadd -g 2000 admin
useradd -g 2000 -G admin admin
echo "admin" | passwd --stdin admin
cat >> /etc/sudoers <<EOF
admin ALL=(ALL) NOPASSWD: ALL
EOF
2.10 处理数据盘并配置
pvcreate /dev/nvme0n2
vgcreate vgob /dev/nvme0n2
lvcreate -n lvob -l 100%FREE vgob
mkfs.xfs /dev/mapper/vgob-lvob
mkdir /oceanbase
cat >> /etc/fstab <<EOF
/dev/mapper/vgob-lvob /oceanbase xfs defaults 0 0
EOF
systemctl daemon-reload
mount /oceanbase
chown admin:admin -R /oceanbase
2.11 创建其他目录
su - admin
mkdir /oceanbase/server
mkdir /oceanbase/data
mkdir /oceanbase/redo
2.12 配置ssh互信
su - admin
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@10.10.10.201
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@10.10.10.202
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@10.10.10.203
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@10.10.10.204
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@10.10.10.205
3 集群架构
本次部署按照下面的架构部署:
4 图形化部署
su - admin
tar -xvf oceanbase-all-in-one-4.3.5_bp4_20250910.el8.x86_64.tar.gz
cd oceanbase-all-in-one/bin/
./install.sh
source ~/.oceanbase-all-in-one/bin/env.sh
obd web
进入部署向导
选择“OceanBase及配套工具”
部署配置
选择所有组件:
节点配置
集群配置
root@sys及其他密码设置为OceanBase#!123
预检查
部署
信息留存:
组件 | 访问地址 | 账号 | 密码 | 链接字符串 |
---|---|---|---|---|
OceanBase DataBase | 10.10.10.204:2881 | root@sys | OceanBase#!123 | obclient -h10.10.10.204 -P2881 -uroot@sys -p’OceanBase#!123’ -Doceanbase -A |
OBProxy | 10.10.10.202:2883 | root@proxysys | J{jeK;i | K{prX |
Prometheus | 10.10.10.203:9090 | admin | OceanBase#!123 | http://10.10.10.203:9090 |
Grafana | 10.10.10.203:3000 | admin | OceanBase#!123 | http://10.10.10.203:3000/d/oceanbase |
AlertManager | 10.10.10.204:9093 | admin | DLHNq]mInYPFTbcsvW+gT | http://10.10.10.204:9093 |
OB-Dashboard | http://10.10.10.204:2886 | root | OceanBase#!123 | http://10.10.10.204:2886 |
5 验证部署
obd cluster list
obd cluster display yhw_cluster
6 创建租户
访问租户:
obclient -h10.10.10.204 -P2881 -uroot@testdb -p
7 资源消耗
在没有运行任何业务负载的情况下,宿主机的资源消耗如下,仅供参考:
总结
本期部署了OceanBase 4.3.5社区版集群,安装过程整体非常顺利,耗时也比较短。
老规矩,知道写了些啥。