手动部署OB集群启动OBserver报错(Fail to set tenant mem limit)

【产品名称】OceanBase社区版

【产品版本】

[admin@obs91 ~]$ ./oceanbase/bin/observer -V ./oceanbase/bin/observer -V observer (OceanBase CE 3.1.2) REVISION: 10000392021123010-d4ace121deae5b81d8f0b40afbc4c02705b7fc1d BUILD_BRANCH: HEAD BUILD_TIME: Dec 30 2021 02:47:29 BUILD_FLAGS: RelWithDebInfo BUILD_INFO:

【问题描述】

手动部署OB集群(社区版),启动第一个OBserver时报错(见附件:observer.log)

环境信息:一个中控机(虚拟机,32c/64G/60G+400G*2)+3个OBserver(虚拟机,16c/32G/60G+400G*2)

参考OceanBase 离线手动部署详细教程和一些理解 - 墨天轮 (modb.pro)一文做了环境初始化。

软件包信息,及依赖:

$ ldd /home/admin/oceanbase/bin/observer linux-vdso.so.1 => (0x00007ffeb21eb000) libmariadb.so.3 => /home/admin/oceanbase/lib/libmariadb.so.3 (0x00007f3cca25c000) libaio.so.1 => /home/admin/oceanbase/lib/libaio.so.1 (0x00007f3cca05a000) libm.so.6 => /lib64/libm.so.6 (0x00007f3cc9d58000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3cc9b3c000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f3cc9938000) librt.so.1 => /lib64/librt.so.1 (0x00007f3cc9730000) libc.so.6 => /lib64/libc.so.6 (0x00007f3cc9362000) /lib64/ld-linux-x86-64.so.2 (0x00007f3cca4c2000) $ rpm -qa |grep oceanbase oceanbase-ce-utils-3.1.2-10000392021123010.el7.x86_64 oceanbase-ce-libs-3.1.2-10000392021123010.el7.x86_64 oceanbase-ce-3.1.2-10000392021123010.el7.x86_64

然后,在第一个observer节点执行如下命令,启动observer报错:

cd /home/admin/oceanbase && \ ./bin/observer \ --devname eth0 \ --mysql_port 2881 \ --rpc_port 2882 \ --zone zone1 \ --log_level ERROR \ --cluster_id 2022 \ --appname obce_cluster_1 \ --data_dir /home/admin/oceanbase/store/obce_cluster_1 \ --rs_list ‘172.31.0.91:2882:2881;172.31.0.48:2882:2881;172.31.0.79:2882:2881’ \ --optstr “memory_limit=25G, cache_wash_threshold=1G, __min_full_resource_pool_memory=268435456, system_memory=4G, memory_chunk_cache_size=128M, cpu_count=16, net_thread_count=4, workers_per_cpu_quota=2, datafile_disk_percentage=50, stack_size=512K, syslog_level=ERROR, config_additional_dir=/data/1/obce_cluster_1/etc3;/data/log1/obce_cluster_1/etc2”

observer日志见附件。

oceanbase-log.tar.gz (2165 KB)

麻烦根据线程号(日志中第6个字段)搜索一下observer.log看看

grep -F "[32308]" observer.log


大佬,我清理环境重新启动observer,启动命令如下:

cd /home/admin/oceanbase && \
    ./bin/observer \
    --devname eth0 \
    --mysql_port 2881 \
    --rpc_port 2882 \
    --zone zone1 \
    --log_level WARN \
    --cluster_id 2022 \
    --appname obce_cluster_1 \
    --data_dir /home/admin/oceanbase/store/obce_cluster_1 \
    --rs_list '172.31.0.91:2882:2881;172.31.0.48:2882:2881;172.31.0.79:2882:2881' \
    --optstr "memory_limit=25G, cache_wash_threshold=1G, __min_full_resource_pool_memory=268435456, system_memory=4G, memory_chunk_cache_size=128M, cpu_count=16, net_thread_count=4, workers_per_cpu_quota=2, datafile_disk_percentage=50, stack_size=512K, syslog_level=ERROR, config_additional_dir=/data/1/obce_cluster_1/etc3;/data/log1/obce_cluster_1/etc2"


检查observer.log文件,错误依旧。根据新的线程号4660查找相关信息见附件。






4660.txt.zip (2997 KB)

看附件的内容,启动项的前面都多了空格,可以先尝试将所有命令写在一行再尝试启动。

[admin@obs91 log]$ egrep -E '\[4660\]' observer.log

[2022-01-12 13:05:13.105177] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=0] Invalid config string, no such config item(name=" cache_wash_threshold", value="1G", ret=0)

[2022-01-12 13:05:13.105367] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=180] Invalid config string, no such config item(name=" __min_full_resource_pool_memory", value="268435456", ret=0)

[2022-01-12 13:05:13.105401] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=26] Invalid config string, no such config item(name=" system_memory", value="4G", ret=0)

[2022-01-12 13:05:13.105418] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=10] Invalid config string, no such config item(name=" memory_chunk_cache_size", value="128M", ret=0)

[2022-01-12 13:05:13.105434] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=9] Invalid config string, no such config item(name=" cpu_count", value="16", ret=0)

[2022-01-12 13:05:13.105450] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=8] Invalid config string, no such config item(name=" net_thread_count", value="4", ret=0)

[2022-01-12 13:05:13.105468] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=10] Invalid config string, no such config item(name=" workers_per_cpu_quota", value="2", ret=0)

[2022-01-12 13:05:13.105484] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=9] Invalid config string, no such config item(name=" datafile_disk_percentage", value="50", ret=0)

[2022-01-12 13:05:13.105499] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=9] Invalid config string, no such config item(name=" stack_size", value="512K", ret=0)

[2022-01-12 13:05:13.105515] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=9] Invalid config string, no such config item(name=" syslog_level", value="ERROR", ret=0)

[2022-01-12 13:05:13.105534] WARN [SHARE] add_extra_config (ob_common_config.cpp:86) [4660][0][Y0-0000000000000000] [lt=10] Invalid config string, no such config item(name=" config_additional_dir", value="/data/1/obce_cluster_1/etc3;/data/log1/obce_cluster_1/etc2", ret=0)

已解决,是--optstr参数中参数之间多余的空格导致。