集群自举时报错ERROR 4015 (HY000): System error

【 使用环境 】
内核:

-bash-4.2$ uname -r
3.10.0-957.el7.x86_64

内存大小:

-bash-4.2$ free -g
              total        used        free      shared  buff/cache   available
Mem:             46           9          29           0           7          36

CPU:

-bash-4.2$ cat /proc/cpuinfo  |grep processor |wc -l
24

硬盘分区:

-bash-4.2$ df -h |egrep 'data|redo|admin'
/dev/sda7       222G  200G   23G  91% /data
/dev/sda3        98G   11G   88G  11% /home/admin
/dev/sda2       147G   97M  147G   1% /redo

【 OB or 其他组件 】
【 使用版本 】
3.1.1-4
【问题描述】
OBSERVER启动命令如下:

cd ~/oceanbase && bin/observer -i ens192 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo/ -r '172.118.81.151:2882:2881;172.118.81.152:2882:2881;172.118.81.153:2882:2881;' -c 20230718 -n obdemo -o "memory_limit=30G,cache_wash_threshold=3G,__min_full_resource_pool_memory=268435456,system_memory=6G,memory_chunk_cache_size=128M,cpu_count=80,net_thread_count=4,datafile_size=20G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2"

其中资源配置参数,我试过如下几种

  • 不配置任何资源参数
  • cpu_count=80
  • memory_limit=30G,cache_wash_threshold=3G,__min_full_resource_pool_memory=268435456,system_memory=6G,memory_chunk_cache_size=128M,cpu_count=80,net_thread_count=4,datafile_size=20G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2
  • memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=2G,memory_chunk_cache_size=128M,cpu_count=8,net_thread_count=4,datafile_size=20G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2
    以上几种参数尝试后都会在集群自举过程中报错
obclient [(none)]> alter system bootstrap ZONE 'zone1' SERVER '172.118.81.151:2882', ZONE 'zone2' SERVER '172.118.81.152:2882', ZONE 'zone3' SERVER '172.118.81.153:2882';
ERROR 4015 (HY000): System error

【复现路径】
【问题现象及影响】

【附件】
observer.log (1.5 MB)

cpu核心数是多少? 最低2.5个

是虚机,通过cpuinfo查看cpu数量是

-bash-4.2$ cat /proc/cpuinfo | grep processor |wc -l
24

微信截图_20230719180407
微信图片_20230719180253
核心数是4的,仍然报错
ERROR 4015 (HY000): System error

1、帖子里提供的observer.log附件是哪个节点上的呢? 启动命令里加上 max_syslog_file_count=30,铲掉后重新复现一下,提供zone1节点上日志里包含"mian.cpp" 关键字的日志看看。

2、OB3.1.1.版本太老了,建议安装OB4.1版本。

observer.log日志在zone1节点上的。之所以使用3.1版本,而不是4.1版本,是因为这年obcp考试还是使用3.0版本。
重置后

-bash-4.2$ kill -9 `pidof observer`
-bash-4.2$ rm -rf ~/oceanbase/store/obdemo/*/*

添加新的配置参数max_syslog_file_count=30后

cd ~/oceanbase && bin/observer -i ens192 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo/ -r '172.118.81.151:2882:2881;172.118.81.152:2882:2881;172.118.81.153:2882:2881;' -c 20230718 -n obdemo -o "memory_limit=30G,cache_wash_threshold=3G,__min_full_resource_pool_memory=268435456,system_memory=6G,memory_chunk_cache_size=128M,cpu_count=12,net_thread_count=4,datafile_size=20G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2,max_syslog_file_count=30"

重新自举,已没问题

obclient [(none)]> alter system bootstrap ZONE 'zone1' SERVER '172.118.81.151:2882', ZONE 'zone2' SERVER '172.118.81.152:2882', ZONE 'zone3' SERVER '172.118.81.153:2882';
Query OK, 0 rows affected (3 min 54.611 sec)

谢谢@ 和顺和@ 王o