小哇牛 2025-01-21 17:35 采纳率: 0%
浏览 46

单机部署OB创建资源池提示资源不足

请教一下大家,谢谢
参考 此文章搭建单机OB:测试部署单副本 oceanbase-3.2.4.1 企业版_oceanbase_好记忆不如烂笔头abc-OceanBase数据库社区
遇到一个问题。
虚拟机配置:centos7.9 、8核、16G内存、800G磁盘
按照步骤操作到 7.2创建资源单元规格 后,执行 7.3创建资源池 报如下问题

obclient(root@(none))[(none)]> CREATE RESOURCE POOL pool001
    ->      UNIT='unit001',UNIT_NUM=1,ZONE_LIST=('zone1');
ERROR 4624 (HY000):  machine resource 'zone1' is not enough to hold a new unit

我找到了一个检查资源使用的sql,sql和结果如图(感觉时磁盘不够了,但我这是新安装的啊,不是很理解)

img

此步骤前,主要的命令如下

启动服务
/home/admin/oceanbase/bin/observer -i ens192 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r '192.168.113.105:2882:2881' -c 10001 -n obdemo -o "__min_full_resource_pool_memory=268435456,system_memory=1G,datafile_size=10G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"

创建资源单元规格
CREATE RESOURCE UNIT unit001 MAX_CPU 6,MAX_MEMORY '8G',MAX_IOPS 1280,MAX_DISK_SIZE '500G',MAX_SESSION_NUM 640, MIN_CPU 2,MIN_MEMORY '1G',MIN_IOPS 1280;
  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2025-01-21 17:35
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    从你提供的信息来看,当你尝试创建资源池时遇到了资源不足的问题。错误信息指出 machine resource 'zone1' is not enough to hold a new unit,这通常意味着在指定的区域 zone1 中没有足够的资源来容纳新的资源单元。

    以下是可能的解决方案:

    1. 检查当前资源使用情况

      • 确认当前资源是否已经被其他资源单元占用。
      • 执行以下SQL查询来检查当前资源使用情况:
        SELECT * FROM __all_unit_config;
        SELECT * FROM __all_unit;
        
    2. 调整资源单元规格

      • 如果发现当前资源已经接近或达到上限,可以考虑减少资源单元规格中的资源请求。
      • 修改资源单元规格中的资源限制,例如减少最大CPU数、内存大小或磁盘空间等。
      • 示例:
        CREATE RESOURCE UNIT unit001 MAX_CPU 4, MAX_MEMORY '4G', MAX_IOPS 640, MAX_DISK_SIZE '250G', MAX_SESSION_NUM 320, MIN_CPU 1, MIN_MEMORY '512M', MIN_IOPS 320;
        
    3. 增加物理资源

      • 如果虚拟机配置较低,可以考虑增加虚拟机的CPU核心数、内存大小或磁盘空间。
      • 例如,在CentOS中,可以通过编辑虚拟机配置文件(如 .vmx 文件)来增加资源:
        numvcpus = "16"
        memsize = "32768"
        
    4. 检查存储空间

      • 尽管你提到这是新安装的系统,但仍然需要确认是否有足够的磁盘空间。
      • 使用以下命令检查磁盘空间:
        df -h
        
      • 如果磁盘空间不足,可以考虑扩展磁盘或清理不必要的文件。
    5. 创建资源池时指定合适的资源单元规格

      • 确保在创建资源池时指定了正确的资源单元规格。
      • 示例:
        CREATE RESOURCE POOL pool001 UNIT='unit001', UNIT_NUM=1, ZONE_LIST=('zone1');
        

    总结来说,通过以上步骤你可以检查当前资源使用情况,并根据实际情况调整资源单元规格或增加物理资源。希望这些解决方案能帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月21日