当前位置: 首页 > news >正文

OceanBase 4.3版本向量数据库部署

OceanBase 4.3版本向量数据库部署

  • 安装包准备
  • 最低资源配置
  • 重要的准备事项
  • 服务器配置
    • 操作系统
    • 内核参数
    • BIOS设置
    • 磁盘挂载
    • 网卡设置
  • 部署OAT工具
  • 初始化OBServer服务器
  • 使用oatcli部署OB集群
    • 安装OceanBase软件
    • 初始化OceanBase集群
  • 启用向量检索功能

OceanBase最新的V4.3版本开始支持向量数据库特性。

数据库版本:OceanBase V4.3.5

OceanBase向量版支持图形化部署和命令行部署:

  • 图形化部署:需要使用OAT工具部署OCP平台,再通过OCP平台部署数据库。
  • 命令行部署:使用oatcli工具部署数据库。

如果使用图形化界面部署,确保能够访问部署工具所在服务器的70008080端口。

安装包准备

OceanBase企业版部署需要的软件安装包如下(适用于单机版和多节点集群):

组件安装包名称说明
oat-all-in-one安装包X86_64平台:oat-all-in-one-x86-431.tar用于安装OAT
OCP镜像X86_64平台:ocp_4.3.5_20250327_x86_64.tar.gz用于部署OCP云平台
OceanBase RPM包X86_64平台:oceanbase-4.3.5.1-101030012025040200.el7.x86_64.rpm用于部署OceanBase集群
ODP RPM包(非必须)X86_64平台:obproxy-4.3.1.4-242025032019.el7.x86_64.rpm用于部署OBProxy代理服务

最低资源配置

OceanBase部署服务器应满足的最低配置如下(适用于单机版和多节点集群):

组件服务器数量最低配置推荐磁盘类型
OAT1台(可复用OCP服务器)2U4GN/A
OCP和MetaDB(图形化部署)1台16U32G1.5TB、万兆网卡、SSD存储
OceanBase集群单机部署1台(非单机部署3台)4U16G。OBServer服务器内存设置建议不超过1T;OBServer 服务器CPU数量建议不超过512核。磁盘中日志盘需要内存的3倍以上;SSD存储
ODP(非必须)3台(可复用OBServer节点)4U8G200G

⭐️ 如果是通过命令行部署(oatcliobd工具),可以不安装OCP和MetaDB组件。

重要的准备事项

⚠️ 部署前的重要准备事项!!!

  • 如果不是单机部署,务必确保OAT部署服务器、OCP服务器和OBServer服务器在同一网段。官方文档仅要求这些服务器之间的2270008080端口互通,然而实际上OCP服务器和OBServer上的ocp agent等组件通信时还使用了68888、68889等其他端口。如果没有提前开放所有端口,很可能在集群初始化和纳管的过程中遇到各种难以分析的报错。
  • 务必检查并确保OCP服务器和所有OBServer服务器之间的时钟源保持同步。OceanBase集群对各服务器之间的时间偏差要求非常严苛,如果时钟源不同步,部署OceanBase集群时的关键步骤就会进行不下去。
  • 注意不要在OBServer服务器上手动创建admin用户。admin用户会在OAT初始化OBServer服务器的过程中自动创建,提前手动创建会报错,导致OBServer添加失败。

服务器配置

操作系统

OceanBase数据库支持的主流操作系统及版本信息如下:

操作系统版本架构
KylinOSV10x86_64(包括海光),ARM_64(鲲鹏、飞腾)
CentOS / Red Hat Enterprise Linux7.x、8.xx86_64(包括海光),ARM_64(鲲鹏、飞腾)
Debian8.3 及以上x86_64(包括海光)
openEuler20.03 LTS SP1/SP2 和 22.10 LTSx86_64(包括海光),ARM_64(鲲鹏、飞腾)

更多支持的操作系统及其版本请参考官方文档。

⭐️ 需要进行一些特殊的操作系统配置如下:

  1. 在Intel x86架构的环境中:建议修改配置文件/etc/sysctl.conf,添加配置vm.swappiness = 0
  2. 在AMD或者ARM架构的环境中,建议开启Numa
  3. 在ARM和海光架构的环境中,建议修改配置文件/etc/sysctl.conf,添加以下配置:
kernel.numa_balancing = 0
vm.zone_reclaim_mode = 0
vm.swappiness = 0

内核参数

OceanBase服务器推荐的内核参数配置如下:

内核参数推荐值说明
vm.max_map_count655360用于设置一个进程可拥有的最大内存映射区域数量
vm.min_free_kbytes2097152用于设置系统保留的最小空闲内存量,以防止内存碎片化。如果服务器物理内存小于等于8GB时,建议保持默认值,无需修改
vm.overcommit_memory0用于控制内存过量提交机制,指定当内存不足时是否允许过量提交内存
ulimit.open fileshard/soft nofile 655300用于设置用户可同时打开的最大文件描述符数
ulimit.max_user_processeshard/soft nproc 655300用于设置用户可以创建的最大进程数
ulimit.core file sizehard/soft core unlimited用于设置核心转储文件(core dump)的最大大小
ulimit.stackhard/soft stack unlimited用于设置系统的栈大小的参数
current_clocksourcetsc用于显示当前系统使用的时钟源

⭐️ 检查服务器时钟源配置:

[root@dbhost ~]# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm [root@dbhost ~]# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

⭐️ /etc/sysctl.conf配置参考:

####################################################
#  for oceanbase
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 = 16777216net.ipv4.ip_local_port_range = 10000 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 = 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_tw_reuse = 1
net.ipv4.tcp_slow_start_after_idle=0
net.ipv4.ip_local_reserved_ports = 62881-63881vm.swappiness = 0
kernel.core_pattern = /data/1/core-%e-%p-%t  #与OB数据目录保持一致
kernel.numa_balancing = 0
kernel.sched_migration_cost_ns = 0
vm.zone_reclaim_mode = 0vm.min_free_kbytes=1317714  #服务器内存小于8G时保持默认值
vm.min_free_kbytes=2097152  #服务器内存大于8G时配置
vm.overcommit_memory = 0fs.aio-max-nr=1048576
vm.max_map_count=655360
vm.nr_hugepages = 0
fs.file-max=6573688
net.ipv4.tcp_tw_recycle = 0

⭐️ /etc/security/limits.conf配置参考:

*	hard	stack	unlimited
*	hard	core	unlimited
*	hard	nofile	655300
*	hard	nproc	655300*	soft	stack	unlimited
*	soft	core	unlimited
*	soft	nofile	655300
*	soft	nproc	655300

BIOS设置

BIOS需要关闭以下配置:

  • Cstate
  • Pstate
  • EIST
  • Power saving
  • SMMU(ARM架构)

BIOS需要开启以下配置:

  • Automatic Power on After Power Loss: Always on
  • Intel Virtualization Technology
  • Hyper-threading
  • Hardware prefetcher
  • VT-d
  • SR-IOV
  • Turbo Mode
  • Energy performance:开启最大performance

磁盘挂载

OCP节点的磁盘挂载要求如下:

挂载点容量格式说明
/home100 GB~300 GB建议 ext4 或 xfs各组件运行日志盘
/data/log1内存大小的 3~4 倍建议 ext4 或 xfsOCP元数据库日志盘
/data/1取决于所需存储的数据大小建议 ext4 或 xfsOCP元数据库数据盘
/docker200 GB~500 GB建议 ext4 或 xfsDocker根目录,可以放到oat_data目录下

⭐️ 如果是通过命令行部署(oatcli或obd工具),可以不安装OCP和MetaDB组件。

OBServer节点的磁盘挂载要求如下:

挂载点容量格式说明
/home100 GB~300 GB建议 ext4 或 xfsobserver安装和运行日志盘
/data/log1内存大小的 3~4 倍建议 ext4 或 xfsobserver事务日志盘
/data/1取决于所需存储的数据大小建议 ext4 或 xfsobserver数据盘

📖 划分磁盘LVM分区的演示:

[root@dbhost ~]# fdisk /dev/sdcWelcome to fdisk (util-linux 2.35.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x0d86530b.Command (m for help): p   #检查现有分区信息
Disk /dev/sdc: 200 GiB, 214748364800 bytes, 419430400 sectors
Disk model: Virtual disk    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0d86530bCommand (m for help): n  #新建一个磁盘分区
Partition typep   primary (0 primary, 0 extended, 4 free)e   extended (container for logical partitions)
Select (default p): p    #选择主分区
Partition number (1-4, default 1):    #默认回车
First sector (2048-419430399, default 2048):    #默认回车
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-419430399, default 419430399):   #默认回车Created a new partition 1 of type 'Linux' and of size 200 GiB.
Partition #1 contains a ext4 signature.Do you want to remove the signature? [Y]es/[N]o: YThe signature will be removed by a write command.Command (m for help): t   #修改分区类型
Selected partition 1
Hex code (type L to list all codes): 8e   #8e表示修改为LVM分区
Changed type of partition 'Linux' to 'Linux LVM'.Command (m for help): w   #保存修改
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.[root@dbhost ~]# fdisk -l /dev/sdc   #检查分区信息
Disk /dev/sdc: 200 GiB, 214748364800 bytes, 419430400 sectors
Disk model: Virtual disk    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0d86530bDevice     Boot Start       End   Sectors  Size Id Type
/dev/sdc1        2048 419430399 419428352  200G 8e Linux LVM

📖 创建LVM并挂载到文件系统的演示:

#以单机部署为例,即OAT、OCP和observer都在同一台服务器上
lsblkpvcreate /dev/sdb1
pvcreate /dev/sdc1vgcreate vgdata /dev/sdb1
vgcreate vgapp /dev/sdc1lvcreate -L 200G -n lv_obdata vgdata  #用于存放OB数据
vgs
lvcreate -l 100%FREE -n lv_obredo vgdata  #用于存放OB日志lvcreate -L 100G -n lv_obhome vgapp  #用于安装OB软件
vgs
lvcreate -l 100%FREE -n lv_oboat vgapp  #用于安装OAT工具lvsmkfs.xfs /dev/vgdata/lv_obdata
mkfs.xfs /dev/vgdata/lv_obredo
mkfs.xfs /dev/vgapp/lv_obhome
mkfs.xfs /dev/vgapp/lv_oboatmkdir -vp /data/1
mkdir -vp /data/log1
mkdir -vp /home/admin
mkdir -vp /oat_datacp /etc/fstab /etc/fstab.bak
cat >> /etc/fstab <<EOF
/dev/vgdata/lv_obdata  /data/1      xfs  defaults  0 0
/dev/vgdata/lv_obredo  /data/log1    xfs  defaults  0 0
/dev/vgapp/lv_obhome   /home/admin  xfs  defaults  0 0
/dev/vgapp/lv_oboat   /oat_data     xfs  defaults  0 0
EOFmount -a  
df -hT   

网卡设置

建议配置2块万兆网卡

  • bond模式取名bond0,绑定的模式可以选择mode1mode4,但建议选择mode4。对于mode4模式,交换机需要配置802.3ad协议。
  • 网卡名建议使用eth0eth1

部署OAT工具

部署OAT前请检查以下条件是否已满足:

  • OAT的默认端口7000未被占用。
  • 拥有服务器的root用户权限。
  • 已经安装并启动Docker。推荐Docker版本为社区版17.03及以上。如果使用oat-all-in-one安装包部署OAT,将自动安装Docker环境,无需再单独安装。
  1. 解压oat-all-in-one安装包。
tar -xf oat-all-in-one-x86-431.tar
  1. 以root身份运行安装脚本install.sh
sh oat-all-in-one-x86/install.sh

安装过程中需要根据提示依次确认以下信息:

  • 请指定Docker的根目录,默认值/docker,可自定义。
  • 请指定OAT数据目录的路径,默认值/oat_data,可自定义,例如/oceanbase/oat_data
  • 请指定OAT HTTP监听端口,默认值7000,可自定义。
  • 请指定OAT数据库端口,默认值3306,可自定义。
  • 请输入OAT管理员账户密码(设置初始登录密码),可自定义。默认账号和初始密码为admin/aaAA11__
  • 根据返回的URL访问OAT,验证OAT服务的可用性。

安装完成后,在浏览器中输入OAT的访问地址(第一次登录需要修改admin用户口令),验证是否部署成功。

安装过程中的日志输出如下(如果没有docker会自动安装):

[root@dbhost ob_media]# ll
oat-all-in-one-x86  
oat-all-in-one-x86-431.tar  
oceanbase-4.3.5.1-101030012025040200.el7.x86_64.rpm  
ocp_4.3.5_20250327_x86_64.tar.gz[root@dbhost ob_media]# sh oat-all-in-one-x86/install.sh
Before installation, please set the config below:
Input the OAT data dir: /oat_data
Input the OAT HTTP listen port: 7000
Input the OAT database port: 3306
Input the OAT admin user password(login password): aaAA11__
Start prepare docker
Docker is already exists, start check...
Already installed docker check healthy, skip install docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
Start prepare OAT
Loaded image: reg.docker.alibaba-inc.com/oceanbase/oat:4.3.1_20250303_x86check OAT url http://127.0.0.1:7000/hc
OAT API not ready, please wait, sleep 5s retry...
OAT API not ready, please wait, sleep 5s retry...
OAT API not ready, please wait, sleep 5s retry...
OAT API not ready, please wait, sleep 5s retry...
OAT API not ready, please wait, sleep 5s retry...
OAT API not ready, please wait, sleep 5s retry...
OAT API ready
Copy images and binary_packages to OAT data dir
Trigger OAT scan api to find images and binary_packages
Trigger scan task success, please visit OAT web site and wait for scan task finished
OAT is ready for visit
url is: http://xx.xx.xx.xx:7000  #==> OceanBase管理者工具Web页面,第一次登录需要修改admin用户口令
user/password is: admin/aaAA11__ 

初始化OBServer服务器

初始化OBServer服务器可以通过前面提到的的OceanBase管理者工具(OAT)Web白屏页面完成,也可以按照下面的黑屏方式进行。

使用oatcli初始化OBServer服务器前请检查以下条件是否已满足:

  • 已安装OAT工具。
  • 拥有OAT服务器的root用户权限。

⚠️ 黑屏操作下初始化OBServer服务器在OAT容器中进行。

  1. 在OAT服务器上,以root身份进入到OAT容器。
sudo docker exec -it oat bash
  1. 查看oatcli命令的使用方法。
oatcli --help
  1. 设置OAT API地址、用户名和密码来调用OAT API。
#oatcli config set -sxx.xx.xx.xx:7000 -u admin -p xxxxxx
oatcli config set -s22.33.36.123:7000 -u admin -p Abc@@123__
  • -s:api server地址,例如127.0.0.1:7000
  • -u:用户名。
  • -p:密码。
  1. 创建机房信息。
# oatcli create idc <NAME> <REGION>
oatcli create idc bj1 beijing
  • NAME:机房名称。
  • REGION:机房所属的地域。
  1. 为服务器连接创建SSH凭证
# oatcli create credential [OPTIONS] NAME AUTH_TYPE:{password|pubkey|external}
oatcli create credential -uroot -pAbc@@123__ root_123 password
  • NAME:凭证标识名称。示例中凭证名为root_123
  • AUTH_TYPE:授权类型。password对应密码认证,pubkey对应公钥认证,external表示已配置免密。
  • -u:要添加的observer服务器的登录用户名。默认为root。如果root不可用,请使用有sudo权限的操作系统用户。注意不要使用admin用户。admin用户会在部署过程中自动创建,提前创建会报错,导致OBServer添加失败。
  • -p:要添加的observer服务器的登录用户密码。
  • -k:SSH私钥文件。

⭐️创建普通用户并授予sudo权限:

useradd -m -d /home/obdeploy obdeploy 
passwd obdeploy visudo
#添加并保存配置
obdeploy ALL=(ALL:ALL)   NOPASSWD:ALL
  1. 添加并初始化OBServer服务器。

⚠️ 确保待添加的observer没有uid=500的用户和用户组:

cat /etc/passwd | grep 500
cat /etc/group | grep 500
cat /etc/uid_list | grep 500

⚠️ 确保日志盘容量/data/log1是服务器物理内存的3倍以上(严格模式下必须大于内存的4倍)。

添加并初始化observer服务器:

# oatcli create server [OPTIONS] IPs... INIT_TAG:{observer|obproduct|both}
oatcli create server -ibj1:beijing -croot_123 22.33.36.123 observer
  • -i机房名:地域,必须已存在。
  • -c:凭证名,必须已存在。
  • --add-only:仅添加服务器,不执行操作系统配置操作。默认为--no-add-only,即执行操作系统配置操作。
  • --ssh-port:SSH端口,默认为22。非必需。
  • --docker-root-dir:默认为/docker。非必需。
  • --admin-uid-gid:默认为500:500。非必需。
  • --admin-password:admin密码。非必需。
  • IPs:OBServer服务器IP。
  • INIT_TAG:服务器用途。observer为数据库节点,obproduct表示安装OceanBase产品服务,both表示安装OBServer和OceanBase产品服务。
  1. 查看服务器是否添加完成。
# oatcli describe server [OPTIONS] OBServer_IP
oatcli describe server xx.xx.xx.xx
  1. 在OAT中获取资源信息。
# oatcli get [OPTIONS] COMMAND [ARGS]...
oatcli get server
  • component:获取组件信息。
  • credential:获取凭证信息。
  • idc:获取机房信息。
  • image:获取镜像信息。
  • product:获取产品信息。
  • Server:获取服务器信息。

下面是初始化服务器的所有流程:

┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ id                 ┃ innerState ┃ executeTime                 ┃ startTime                   ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ check_ssh          │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:13.241571Z │
│ config_lvm         │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:14.357059Z │
│ create_admin_user  │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:15.522019Z │
│ config_deps        │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:17.096431Z │
│ config_os          │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:17.101114Z │
│ config_chrony      │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:17.107977Z │
│ config_docker      │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:17.088391Z │
│ precheck           │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:37:50.829933Z │
│ sync_server_to_ocp │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:41:48.337989Z │
│ update_server      │ success    │ 2025-05-10T09:37:11.107862Z │ 2025-05-10T09:41:49.473391Z │
└────────────────────┴────────────┴─────────────────────────────┴─────────────────────────────┘

其中,precheck会检查日志盘的大小是否满足要求,如果不通过,可以在OceanBase管理者工具(OAT)Web页面的系统与安全下的任务中心手动设置为检查通过。

使用oatcli部署OB集群

在部署OceanBase集群前请检查已经使用oatcli初始化OBServer服务器。

安装OceanBase软件

  1. 安装OceanBase数据库RPM包。
rpm -ivh oceanbase-4.3.5.1-101030012025040200.el7.x86_64.rpm

OceanBase数据库软件会默认安装在目录/home/admin/oceanbase下。

  1. 安装OceanBase客户端(非必需)。
rpm -ivh obclient-2.2.1-20221122151945.el7.alios7.x86_64.rpm

如果只连接OceanBase数据库的MySQL租户,也可以通过MySQL客户端(mysql)连接OceanBase数据库。

初始化OceanBase集群

⚠️ 黑屏操作下初始化OceanBase集群请使用admin用户操作。

  1. 清理OceanBase目录(第一次部署不用)。
su - admin
kill -9 `pidof observer` 
rm -rf /data/1/$cluster_name 
rm -rf /data/log1/$cluster_name 
rm -rf /home/admin/oceanbase/store/$cluster_name /home/admin/oceanbase/log/* /home/admin/oceanbase/etc/*config*
ps -ef|grep observer

其中$cluster_name为集群名。

  1. 初始化OceanBase目录

OceanBase的数据目录通常建议在独立的磁盘上,然后通过软链接方式链接到软件Home目录下面。其中$cluster_name为集群名。

su - admin   #使用admin用户安装
export cluster_name=obvectormkdir -p /data/1/$cluster_name/{etc3,sstable,slog} 
mkdir -p /data/log1/$cluster_name/{clog,etc2} 
mkdir -p /home/admin/oceanbase/store/$cluster_name
for t in {etc3,sstable,slog};do ln -s /data/1/$cluster_name/$t /home/admin/oceanbase/store/$cluster_name/$t; done
for t in {clog,etc2};do ln -s /data/log1/$cluster_name/$t /home/admin/oceanbase/store/$cluster_name/$t; done
  1. 启动节点observer进程

在每个节点的admin用户下,启动observer进程。

cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer {-I $ip | -i $devname} -P $rpc_port -p $sql_port \
-z $zone_name -d /home/admin/oceanbase/store/$cluster_name -r '$ip:2882:2881' -c $cluster_id -n $cluster_name \
-o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/$cluster_name/etc3;/data/log1/$cluster_name/etc2"

三副本下,每个节点启动参数并不完全相同。启动observer时只需指定RootService所在的3台(或者多台)机器,不需要在创建集群时指定所有机器;集群创建完成后可以添加新的机器。

启动参数含义:

  • -I:指定待启动的节点IP。
  • -p:指定服务端口号,一般指定为2881。
  • -P:指定RPC端口号,一般指定为2882。
  • -n:指定集群名称。不同集群不要重复即可。
  • -z:指定启动的observer进程所属的Zone。
  • -d:指定集群主目录,初始化目录时创建的目录。除集群名字$cluster_name外,其他的不要修改。
  • -c:指定集群ID。不同集群不要重复即可。
  • -l:指定日志级别。
  • -r:指定RS列表,格式是$ip:2882:2881,分号分割,表示Root Service信息。
  • -o:指定集群启动参数(配置项)列表,为可选项。其中config_additional_dir用于设置本地存储配置文件的多个目录,为了冗余存储多份配置文件。
    • system_memory:预留给OB内部500租户的内存,不能分配给用户租户使用,因此不应该分配太大。
    • memory_limit:设置OBServer可用的总内存的大小,包括系统租户和所有用户租户使用的内存。

🐯 三节点集群的启动示例如下:

  • zone1节点启动observer进程:
su - admin
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -I 10.10.10.1 -P 2882 -p 2881 \
-z zone1 -d /home/admin/oceanbase/store/obdemo -r '10.10.10.1:2882:2881;10.10.10.2:2882:2881;10.10.10.3:2882:2881' -c 10001 -n obdemo \
-o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
  • zone2节点启动observer进程:
su - admin
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -I 10.10.10.2 -P 2882 -p 2881 \
-z zone2 -d /home/admin/oceanbase/store/obdemo -r '10.10.10.1:2882:2881;10.10.10.2:2882:2881;10.10.10.3:2882:2881' -c 10001 -n obdemo \
-o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
  • zone3节点启动observer进程:
su - admin
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -I 10.10.10.3 -P 2882 -p 2881 \
-z zone3 -d /home/admin/oceanbase/store/obdemo -r '10.10.10.1:2882:2881;10.10.10.2:2882:2881;10.10.10.3:2882:2881' -c 10001 -n obdemo \
-o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"

🐱 如果是单机部署,只需启动一台OBServer节点:

su - admin 
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -I 22.33.36.123 -P 2882 -p 2881 \
-z zone1 -d /home/admin/oceanbase/store/obvector -r '22.33.36.123:2882:2881' -c 10001 -n obvector \
-o "system_memory=4G,datafile_size=100G,config_additional_dir=/data/1/obvector/etc3;/data/log1/obvector/etc2"

可以通过下面命令查看observer进程是否启动成功:

  • netstat -ntlp | grep 288命令,如果监听到了2881与2882端口,则说明进程启动成功。
  • ps -ef | grep observer命令可以返回observer进程信息。

OBServer启动过程中的日志信息记录在/home/admin/oceanbase/log/observer.log文件中。

  1. 集群bootstrap操作

通过OBClient命令连接任意一台节点,密码为空。

mysql -h127.0.0.1 -uroot -P2881 -pMySQL> SET SESSION ob_query_timeout=1000000000;
Query OK, 0 rows affectedMySQL> ALTER SYSTEM BOOTSTRAP ZONE 'zone1' SERVER '10.10.10.1:2882',ZONE 'zone2' SERVER '10.10.10.2:2882',ZONE 'zone3' SERVER '10.10.10.3:2882';
Query OK, 0 rows affected

如果是单机部署,只需启动一台OBServer节点:

ALTER SYSTEM BOOTSTRAP ZONE 'zone1' SERVER '22.33.36.123:2882';

如果这一步失败报错了,其原因很可能就是observer进程启动参数有不对、observer相关目录权限不对、日志目录空间不足一定比例(跟数据目录合用了大目录,空间被数据目录占用了)、节点时间不同步、节点内存资源不足等。请先排查这些问题点后,然后清理OceanBase目录从头开始部署。

  1. 验证集群初始化成功

在完成集群的bootstrap初始化操作后,通过执行SHOW DATABASES;命令进行验证,若查询结果显示数据库列表中存在oceanbase数据库,即可确认集群初始化成功。

  1. 修改sys租户管理员密码

sys租户的root用户密码默认为空,初始化成功后请修改密码。

ALTER USER root IDENTIFIED BY 'Abc@@123__';

启用向量检索功能

  1. 创建用户租户。

用户租户的创建请参考:https://gottdeskrieges.blog.csdn.net/article/details/147336658

  1. 登录到用户租户的系统管理员,执行下面的SQL来启用向量检索功能:
show parameters like 'ob_vector_memory_limit_percentage';ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;

配置参数ob_vector_memory_limit_percentage的默认值为0,表示不为向量索引分配内存,创建索引会报错。

References
【1】OceanBase企业版集群部署,https://gottdeskrieges.blog.csdn.net/article/details/147158605
【2】OceanBase租户创建与删除,https://gottdeskrieges.blog.csdn.net/article/details/147336658

相关文章:

  • OceanBase性能关键参数配置最佳实践
  • 《Effective Python》第1章 Pythonic 思维详解——深入理解 Python 条件表达式(Conditional Expressions)
  • BuildAdmin-v2.3.0 发布
  • 鸿蒙跨平台开发教程之Uniapp布局基础
  • WEBSTORM前端 —— 第2章:CSS —— 第8节:网页制作2(小兔鲜儿)
  • MySQL数据库的安全性防护
  • MinIO自定义权限策略语法深度解析
  • overleaf较高级的细节指令
  • 数据加密与隐私保护:让你的信息固若金汤
  • 【MySQL】行结构详解:InnoDb支持格式、如何存储、头信息区域、Null列表、变长字段以及与其他格式的对比
  • 【外网下载Jar包】
  • 基于ssm+mysql的树品种资源数据管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • C++入门小馆: 二叉搜索树
  • ARP协议
  • 婴幼儿托育实训室师资协同培养模式
  • 【深度学习】将本地工程上传到Colab运行的方法
  • LeetCode 热题 100 98. 验证二叉搜索树
  • vector 常见用法及模拟
  • 每日算法刷题 Day3 5.11:leetcode数组2道题,用时1h(有点慢)
  • 7系列 之 SelectIO 资源
  • 泽连斯基:将带领乌代表团前往土耳其,已准备好与普京会谈
  • 习近平致电祝贺阿尔巴尼斯当选连任澳大利亚总理
  • 习近平出席中拉论坛第四届部长级会议开幕式并发表主旨讲话
  • 习近平在中拉论坛第四届部长级会议开幕式的主旨讲话(全文)
  • 脑血管支架:救命神器还是定时炸弹?听听医生的大实话
  • 有关部门负责人就《新时代的中国国家安全》白皮书答记者问