使用命令行部署 OceanBase 数据库生产环境

使用命令行部署 OceanBase 数据库生产环境
1.环境准备
1.1.硬件
obd 2c/8g
observer 2c/12g X 3,内存最好是16g以上。
1.2.IP规划
ip 用途
192.168.133.10 obd obconfigserver prometheus granfana
192.168.133.11 observer1 odp obagent
192.168.133.12 observer2 odp obagent
192.168.133.13 observer3 odp obagent
1.3.版本
本次操作系统使用的龙蜥23.4,OB使用的v4.5
os: anolis 23.4,操作系统可以选择最小安装
ob: v4.5.0
1.4 系统设置
对三个OBSERVER 机器的内核参数及资源限制进行设置

配置资源限制
vim /etc/security/limits.conf
soft nofile 655350
hard nofile 655350
soft stack unlimited
hard stack unlimited
soft core unlimited
hard core unlimited

配置内核参数
vim /etc/sysctl.conf
vm.swappiness = 0
vm.max_map_count = 655360
vm.min_free_kbytes = 2097152
vm.overcommit_memory = 0
fs.file-max = 6573688
fs.aio-max-nr = 1048576
使用sysctl -p 让内核参数配置生效。
sysctl -p
1.5 用户建立
在所有机器,OBD,三个OBSERVER 机器上创建安装用户admin ,可以使用root安装,但建议使用非root用户安装
useradd admin
echo ob |passwd --stdin admin
1.6 建立 data及log目录,并授权
在三台OBSERVER机器上创建数据和日志的目录
# mkdir -p /data /redo
# chown -R admin:admin /data /redo
2.安装
2.1 安装 Oceanbase ALL IN ONE 包
选择离线安装
下载 all in one安装包,注意,由于操作系统是最新的操作系统,all in one 安装包,要下载el8的,下载下来如下:oceanbase-all-in-one-4.5.0_20260203.el8.x86_64.tar.gz,
并上传到中控机器
使用admin 用户解压all in one 安装包:
su - admin
$ tar xvf oceanbase-all-in-one-4.5.0_20260203.el8.x86_64.tar.gz
$ cd oceanbase-all-in-one/bin
./install.sh

环境变量生效
source ~/.oceanbase-all-in-one/bin/env.sh
2.2 配置 OBD
2.2.1 禁用远程仓库
使用 obd mirror disable remote 命令完成
[admin@obd4 bin]$ obd mirror disable remote
2.2.2 查看禁用情况
[admin@obd4 bin]$ obd mirror list

2.2.3 将安装包添加至本地镜像库
[admin@obd4 local]$ obd mirror clone *.rpm
2.2.4 查看本地镜像库中安装包列表
[admin@obd4 local]$ obd mirror list local

2.2.5 选择配置文件
在 ~/.oceanbase-all-in-one/obd/usr/obd/example 位置,有模板文件,我们选择 all-components.yaml作为模板文件

cp ~/.oceanbase-all-in-one/obd/usr/obd/example/all-components.yaml ~/deploy.yaml

2.2.6 修改配置文件
vim deploy.yaml
user:
username: admin
password: ob
oceanbase-ce:
depends:
- ob-configserver
servers:
- name: server1
ip: 192.168.133.11
- name: server2
ip: 192.168.133.12
- name: server3
ip: 192.168.133.13
global:
devname: ens160
memory_limit: 10G # 使用free -g 可用的内存
system_memory: 6G # 低于 memory_limit的75%
datafile_size: 50G # Size of the data file.
log_disk_size: 20G # The size of disk space used by the clog files.
enable_syslog_wf: false
max_syslog_file_count: 4
appname: obcluster

mysql_port: 2881
rpc_port: 2882
obshell_port: 2886
home_path: /home/admin/observer
data_dir: /data
redo_dir: /redo

server1:
zone: zone1
server2:
zone: zone2
server3:
zone: zone3
obproxy-ce:
depends:
- oceanbase-ce
- ob-configserver
servers:
- name: server1
ip: 192.168.133.11

  • name: server2
    ip: 192.168.133.12

  • name: server3
    ip: 192.168.133.13

    global:
    listen_port: 2883
    prometheus_listen_port: 2884
    home_path: /home/admin/obtest/obproxy
    enable_cluster_checkout: false
    skip_proxy_sys_private_check: true
    enable_strict_kernel_release: false
    obproxy_sys_password: ob
    observer_sys_password: ob
    obagent:
    depends:

    • oceanbase-ce
      servers:
    • name: server1
      ip: 192.168.133.11
    • name: server2
      ip: 192.168.133.12
    • name: server3
      ip: 192.168.133.13
      global:
      home_path: /home/admin/obagent
      prometheus:
      servers:
    • 192.168.133.10
      depends:
    • obagent
      global:
      home_path: /home/admin/prometheus
      port: 9090
      data_dir: /home/admin/prometheus/data
      basic_auth_users:
      admin: ob
      grafana:
      servers:
    • 192.168.133.10
      depends:
    • prometheus
      global:
      home_path: /home/admin/grafana
      login_password: ‘oceanbase’
      后面的ocp express ,没有el8的安装介质,因此,删除配置文件后面剩下的部分。
      2.3 部署 OceanBase 集群
      [admin@obd4 ~]$ obd cluster deploy obtest -c deploy.yaml
      2.4 启动集群
      [admin@obd4 ~]$ obd cluster start obtest

    可以登录 obshell http://192.168.133.11:2886 进行查看

    到此,社区版 OB基于 OBD 黑盒安装已经完成。