obsever初始化启动失败显示unit min memory less than __min_full_resource_pool_memory not supported

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】 oceanbase-ce-3.1.1-4.el7.x86_64.rpm oceanbase-ce-libs-3.1.1-4.el7.x86_64.rpm
【问题描述】alter system bootstrap ZONE ‘zone1’ SERVER ‘192.168.110.240:2882’, ZONE ‘zone2’ SERVER ‘192.168.110.241:2882’, ZONE ‘zone3’ SERVER ‘192.168.110.242:2882’;
ERROR 1235 (0A000): unit min memory less than __min_full_resource_pool_memory not supported

【复现路径】问题出现前后相关操作
三台启动命令:cd ~/oceanbase && bin/observer -i ens192 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo
-r ‘192.168.110.240:2882:2881;192.168.110.241:2882:2881;192.168.110.242:2882:2881’
-c 20240103 -n obdemo -o “memory_limit=8G,cache_wash_threshold=1G,
__min_full_resource_pool_memory=268435456,system_memory=3G,memory_chunk_cache_size=128M,
cpu_count=16,net_thread_count=4,datafile_size=30G,stack_size=1536K”

磁盘和内存剩余如下


log.txt (4.2 MB)

日志附件所示

【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(系统巡检和诊断信息收集)

1 个赞

我也遇到了这个问题

__min_full_resource_pool_memory 默认值是5G,如果我们测试使用的资源紧张,需要在启动的时候调整一下这个内部的参数。
observer.config.bin 不允许直接去修改改,alter system方式或者obd edit-config方式修改后会持久化到这个文件里,可以通过strings命令来查看。
另一种方式修改参数 alter system __min_full_resource_pool_memory 的值为 1073741824 来允许以最小 1 GB 内存的规格创建租户。

也可以参考参考这个帖子 【总结】3台虚拟机手工搭建OB集群遇到的各种坑及解决办法 - 社区问答- OceanBase社区-分布式数据库

1 个赞

您好:

我在启动的时候已经添加了限制的参数:
__min_full_resource_pool_memory=268435456

根据您的提示我看到,observer.config.bin中并没有__min_full_resource_pool_memory的配置

您提到的alter system 来修改,会出现如下错误

  1. 可以再配置文件中添加__min_full_resource_pool_memory = ‘1073741824’ 到配置文件里,做到持久化
  2. 第一个错误码2006 通过直连的方式 还是proxy的方式连接的呢
    如果是proxy连接的可以使用 show proxyconfig like ‘proxy_mem_limited’; 查看下给的proxy的内存是多少。
    4013错误码 可以查一下对应租户的内存占用情况呢

select * from GV$OB_TENANT_MEMORY;

select ctx_name,mod_name, mod_type, round(sum(hold)/1024/1024) as hold_mb, round(sum(used)/1024/1024) as used_mb, sum(count) as count from __all_virtual_memory_info group by ctx_name, mod_name,mod_type order by used_mb desc, count desc limit 20;

也可以修改下 SET GLOBAL ob_sql_work_area_percentage = xxx;
这个参数,默认是5,可以调大一点

老师 这个日志是最新得嘛?
可以再执行一遍命令,重新发一下日志。

您好:

我把data 和redo这两个挂载的磁盘给扩到到200G了,把执行的命令datafile_size=30G改为默认的datafile_size=50G

下面是我执行的命令:
cd ~/oceanbase && bin/observer -i ens192 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r ‘192.168.110.240:2882:2881;192.168.110.241:2882:2881;192.168.110.242:2882:2881’ -c 20240104 -n obdemo -o “memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=3G,memory_chunk_cache_size=128M,cpu_count=16,net_thread_count=4,datafile_size=50G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2”
同时也在命令中加入了config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2

下面是重新挂载的磁盘大小


重新启动后可以启动起来了

问题已经解决了,感谢