单个物理机部署多个observer实例,在bootstrap时报错ERROR 4015 (HY000): System error

【 使用环境 】测试环境
【 OB or 其他组件 】observer
【 使用版本 】社区版 3.1.5 oceanbase-ce-3.1.5-100020022023091114.el7.x86_64.rpm
【问题描述】最近在备考obcp认证,想通过单台物理机部署多个observer实例,用于练习实验,安装以下实验环境

物理机配置
CentOS Linux release 7.5.1804 (Core)
cpu:40核
内存:128G

目录规划如下:
zone1 192.168.89.14 2881 2882
安装目录:/home/admin/oceanbase/1
日志目录:/gpdata/redo/1
数据目录:/gpdata/data/1

zone2 192.168.89.14 3881 4882
安装目录:/home/admin/oceanbase/2
日志目录:/gpdata/redo/2
数据目录:/gpdata/data/2

zone3 192.168.89.14 4881 4882
安装目录:/home/admin/oceanbase/3
日志目录:/gpdata/redo/3
数据目录:/gpdata/data/3

启动observer进程正常
cd /home/admin/oceanbase/1 && bin/observer -z zone1 -p 2881 -P 2882 -n obdemo -c 20230910 -d ~/oceanbase/1/store/obdemo -i ens2f0 -o “memory_limit=24G,__min_full_resource_pool_memory=2147483648,system_memory=4G,cache_wash_threshold=1G,memory_chunk_cache_size=128M,cpu_count=6,net_thread_count=2,datafile_size=50G,stack_size=1536K” -r ‘192.168.89.14:2882:2881;192.168.89.14:3882:3881;192.168.89.14:4882:4881’

cd /home/admin/oceanbase/2 && bin/observer -z zone2 -p 3881 -P 3882 -n obdemo -c 20230910 -d ~/oceanbase/2/store/obdemo -i ens2f0 -o “memory_limit=24G,__min_full_resource_pool_memory=2147483648,system_memory=4G,cache_wash_threshold=1G,memory_chunk_cache_size=128M,cpu_count=6,net_thread_count=2,datafile_size=50G,stack_size=1536K” -r ‘192.168.89.14:2882:2881;192.168.89.14:3882:3881;192.168.89.14:4882:4881’

cd /home/admin/oceanbase/3 && bin/observer -z zone3 -p 4881 -P 4882 -n obdemo -c 20230910 -d ~/oceanbase/3/store/obdemo -i ens2f0 -o “memory_limit=24G,__min_full_resource_pool_memory=2147483648,system_memory=4G,cache_wash_threshold=1G,memory_chunk_cache_size=128M,cpu_count=6,net_thread_count=2,datafile_size=50G,stack_size=1536K” -r ‘192.168.89.14:2882:2881;192.168.89.14:3882:3881;192.168.89.14:4882:4881’

初始化报错
obclient -h192.168.89.14 -uroot -P2881 -p -c -A
set session ob_query_timeout=100000000000;
alter system bootstrap ZONE ‘zone1’ SERVER ‘192.168.89.14:2882’,ZONE ‘zone2’ SERVER ‘192.168.89.14:3882’,ZONE ‘zone3’ SERVER ‘192.168.89.14:4882’;

ERROR 4015 (HY000): System error

【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

  1. 看文本里单引号和双引号似乎不是英文的 ’ 和 " 。
  2. cpu_count 都改为 16 ,这个跟实际cpu个数多少无关。
  3. store 下的目录如何跟 data 和 log 目录对应上,用了 软链接吗,这个要发一下。

再试试看。

cpu_count改为16可以了,这个cpu_count指定是固定16还是至少16,指定有什么原则吗?

打个比方。
物理CPU 有多少核就是你有多少黄金。
OB的 CPU_COUNT 有多少就是你发行多少纸币。

生产环境基本是 1:1 配置。当然实际 cpu_count 会配置为比物理机上CPU核数(超线程后的CPU核数)少2个。
测试环境 物理CPU核数少,OB 里配置可以放大。不会因为你多配置了能力就变强,因为实际的CPU核数就那么多。cpu_count 太小,OB 初始化的时候可能不够分配,所以容易启动失败。