使用容器部署时,持久化目录使用的nfs。为什么无法启动

启动命令
docker run --restart=always -p 2881:2881 -v /data/oceanbase:/root/ob --name oceanbase -e MODE=NORMAL -e OB_TENANT_PASSWORD=‘Mysql123!@#’ -e OB_SYS_PASSWORD=‘Mysql123!@#’ -d oceanbase-ce:4.2.1

使用本地磁盘启动没问题

使用nfs启动时报错如下


[ERROR] Traceback (most recent call last):
[2025-12-12 10:06:19.947] [ERROR] File “pymysql/connections.py”, line 613, in connect
[2025-12-12 10:06:19.947] [ERROR] File “socket.py”, line 808, in create_connection
[2025-12-12 10:06:19.947] [ERROR] File “socket.py”, line 796, in create_connection
[2025-12-12 10:06:19.947] [ERROR] ConnectionRefusedError: [Errno 111] Connection refused
[2025-12-12 10:06:19.947] [ERROR]
[2025-12-12 10:06:19.947] [ERROR] During handling of the above exception, another exception occurred:
[2025-12-12 10:06:19.948] [ERROR]
[2025-12-12 10:06:19.948] [ERROR] Traceback (most recent call last):
[2025-12-12 10:06:19.948] [ERROR] File “core.py”, line 2095, in start_cluster
[2025-12-12 10:06:19.948] [ERROR] File “core.py”, line 2142, in _start_cluster
[2025-12-12 10:06:19.948] [ERROR] File “core.py”, line 233, in run_workflow
[2025-12-12 10:06:19.948] [ERROR] File “core.py”, line 275, in run_plugin_template
[2025-12-12 10:06:19.948] [ERROR] File “core.py”, line 320, in call_plugin
[2025-12-12 10:06:19.948] [ERROR] File “_plugin.py”, line 352, in call
[2025-12-12 10:06:19.948] [ERROR] File “_plugin.py”, line 309, in _new_func
[2025-12-12 10:06:19.948] [ERROR] File “/root/.obd/plugins/oceanbase-ce/3.1.0/connect.py”, line 73, in connect
[2025-12-12 10:06:19.948] [ERROR] cursor = Cursor(ip=server.ip, port=server_config.get(‘mysql_port’, 2881), tenant=’’, password=****** if password is not None else ‘’, stdio=stdio)
[2025-12-12 10:06:19.948] [ERROR] File “_stdio.py”, line 1017, in wrapper
[2025-12-12 10:06:19.948] [ERROR] File “_stdio.py”, line 1004, in func_wrapper
[2025-12-12 10:06:19.948] [ERROR] File “tool.py”, line 768, in init
[2025-12-12 10:06:19.948] [ERROR] File “tool.py”, line 798, in _connect
[2025-12-12 10:06:19.948] [ERROR] File “pymysql/connections.py”, line 353, in init
[2025-12-12 10:06:19.948] [ERROR] File “pymysql/connections.py”, line 664, in connect
[2025-12-12 10:06:19.948] [ERROR] pymysql.err.OperationalError: (2003, “Can’t connect to MySQL server on ‘172.17.0.2’ ([Errno 111] Connection refused)”)
[2025-12-12 10:06:19.948] [ERROR]
[2025-12-12 10:06:22.951] [ERROR] OBD-1006: Failed to connect to oceanbase-ce
[2025-12-12 10:06:22.952] [DEBUG] - sub connect ref count to 0
[2025-12-12 10:06:22.952] [DEBUG] - export connect
[2025-12-12 10:06:22.952] [DEBUG] - plugin oceanbase-ce-py_script_connect-3.1.0 result: False
[2025-12-12 10:06:22.954] [INFO] See https://www.oceanbase.com/product/ob-deployer/error-codes .

1 个赞

obd报错是连接ob失败,需要提供一份observer看一下。且不推荐使用docker部署ob无法确保其可以长期运行

3 个赞

连接错误,镜像内看进程也是没有启动。变量就是用了nfs的盘,无法启动,本地盘是可以的

2 个赞

权限配有配置好呢吧

权限没问题的。数据启动时可以写入进去了。读取时好像时无法读取
nfs配置:
/data/oceanbase *(rw,sync,no_root_squash)

1 个赞

oceanbase-ce:
servers:

  • 172.17.0.2
    global:
    home_path: /root/ob
    mysql_port: 2881
    rpc_port: 2882
    zone: zone1
    cluster_id: 1
    appname: obcluster
    memory_limit: 16G
    system_memory: 2G
    datafile_size: 20G
    log_disk_size: 20G
    root_password: Mysql123!@#
    scenario: htap
    obconfig_url:
    cpu_count: 16
    production_mode: false
    syslog_level: INFO
    enable_syslog_wf: false
    enable_syslog_recycle: true
    max_syslog_file_count: 4
    enable_rich_error_msg: true
    group_concat_max_len: 102400
    max_connections: 5000
    interactive_timeout: 28800
    ait_timeout: 28800
    max_allowed_packet: 536870912
    max_connect_errors: 10
    sort_buffer_size: 1048576
1 个赞

这里看yaml文件没问题,麻烦提供一份observer日志
/root/ob/oceanbase/log下

025-12-16 18:19:25.306367] INFO create (ob_timer.cpp:71) [783][observer][T0][Y0-0000000000000000-0-0] [lt=11] ObTimer create success(this=0x7f051d8fcf70, thread_id=-1, lbt()=0x121ed505 0x120d5bfb 0xfed7e91 0x9c96408 0xa05f6a8 0xa7bebf1 0x72f873b 0x7f
051da3acf3 0x531bf3e)
[2025-12-16 18:19:25.306387] INFO [SERVER] start (ob_server.cpp:854) [783][observer][T0][Y0-0000000000000000-0-0] [lt=3] success to start net frame
[2025-12-16 18:19:25.306732] INFO run1 (ob_timer.cpp:360) [975][][T0][Y0-0000000000000000-0-0] [lt=3] timer thread started(this=0x7f051d8fcf70, tid=975, lbt()=0x121ed505 0x503d19d 0x1289fcc1 0x1289c0cd 0x7f051de081cf 0x7f051da39dd3)
[2025-12-16 18:19:25.316903] WDIAG [SHARE] convert_sys_errno (ob_local_device.cpp:1698) [783][observer][T0][Y0-0000000000000000-0-0] [lt=3][errcode=-4009] convert sys errno(ret=-4009, errno=95, errmsg=“Operation not supported”)
[2025-12-16 18:19:25.316936] ERROR issue_dba_error (ob_log.cpp:1875) [783][observer][T0][Y0-0000000000000000-0-0] [lt=26][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_local_device.cpp”, line_no=1502, info=“Fail to fallocate block file, “)
[2025-12-16 18:19:25.316950] EDIAG [SHARE] open_block_file (ob_local_device.cpp:1502) [783][observer][T0][Y0-0000000000000000-0-0] [lt=13][errcode=-4009] Fail to fallocate block file, (ret=-4009, sys_ret=-1, store_path_=”/root/ob/store/sstable/block_file”, adjust_file_size=21474836480, errmsg=“Operation not supported”) BACKTRACE:0x121ed505 0x50a84b5 0x502c345 0x502beff 0x502be42 0x502bccc 0x102cc67e 0x102bd328 0xed859ad 0xa7becb7 0x72f873b 0x7f051da3acf3 0x531bf3e
[2025-12-16 18:19:25.317032] WDIAG [SHARE] start (ob_local_device.cpp:252) [783][observer][T0][Y0-0000000000000000-0-0] [lt=81][errcode=-4009] Fail to open block file, (ret=-4009)
[2025-12-16 18:19:25.317039] WDIAG [STORAGE.BLKMGR] start (ob_block_manager.cpp:202) [783][observer][T0][Y0-0000000000000000-0-0] [lt=4][errcode=-4009] start io device fail(ret=-4009)
[2025-12-16 18:19:25.317056] ERROR issue_dba_error (ob_log.cpp:1875) [783][observer][T0][Y0-0000000000000000-0-0] [lt=13][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_server.cpp”, line_no=860, info=“start block manager fail”)
[2025-12-16 18:19:25.317061] EDIAG [SERVER] start (ob_server.cpp:860) [783][observer][T0][Y0-0000000000000000-0-0] [lt=5][errcode=-4009] start block manager fail(ret=-4009, ret=“OB_IO_ERROR”) BACKTRACE:0x121ed505 0x50a84b5 0x519f76d 0x519f22f 0x518c3a4 0x519f0d3 0xa7c1b04 0xa7bfce3 0x72f873b 0x7f051da3acf3 0x531bf3e
[2025-12-16 18:19:25.334589] INFO [COMMON] replace_map (ob_kv_storecache.cpp:743) [816][KVCacheRep][T0][Y0-0000000000000000-0-0] [lt=25] replace map num details(ret=0, replace_node_count=0, map_once_replace_num_=62914, map_replace_skip_count_=8)
[2025-12-16 18:19:25.394916] INFO unregister_pm (ob_page_manager.cpp:50) [932][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f9352940, pm.get_tid()=932)
[2025-12-16 18:19:25.394939] INFO unregister_pm (ob_page_manager.cpp:50) [936][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f9152940, pm.get_tid()=936)
[2025-12-16 18:19:25.394978] INFO unregister_pm (ob_page_manager.cpp:50) [947][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f84d4940, pm.get_tid()=947)
[2025-12-16 18:19:25.395004] INFO unregister_pm (ob_page_manager.cpp:50) [946][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f8456940, pm.get_tid()=946)
[2025-12-16 18:19:25.395038] INFO unregister_pm (ob_page_manager.cpp:50) [933][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f93d0940, pm.get_tid()=933)
[2025-12-16 18:19:25.395045] INFO unregister_pm (ob_page_manager.cpp:50) [940][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=9] unregister pm finish(&pm=0x7f04f8f52940, pm.get_tid()=940)
[2025-12-16 18:19:25.395066] INFO unregister_pm (ob_page_manager.cpp:50) [934][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f9056940, pm.get_tid()=934)
[2025-12-16 18:19:25.395076] INFO unregister_pm (ob_page_manager.cpp:50) [945][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f8bd0940, pm.get_tid()=945)
[2025-12-16 18:19:25.395090] INFO unregister_pm (ob_page_manager.cpp:50) [935][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f90d4940, pm.get_tid()=935)
[2025-12-16 18:19:25.395104] INFO unregister_pm (ob_page_manager.cpp:50) [944][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=2] unregister pm finish(&pm=0x7f04f8b52940, pm.get_tid()=944)
[2025-12-16 18:19:25.395116] INFO unregister_pm (ob_page_manager.cpp:50) [937][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f91d0940, pm.get_tid()=937)
[2025-12-16 18:19:25.395121] INFO unregister_pm (ob_page_manager.cpp:50) [943][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f8ad4940, pm.get_tid()=943)
[2025-12-16 18:19:25.395146] INFO unregister_pm (ob_page_manager.cpp:50) [942][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f8a56940, pm.get_tid()=942)
[2025-12-16 18:19:25.395154] INFO unregister_pm (ob_page_manager.cpp:50) [938][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f8e56940, pm.get_tid()=938)
[2025-12-16 18:19:25.395158] INFO unregister_pm (ob_page_manager.cpp:50) [941][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=2] unregister pm finish(&pm=0x7f04f8fd0940, pm.get_tid()=941)
[2025-12-16 18:19:25.395193] INFO unregister_pm (ob_page_manager.cpp:50) [939][SvrStartupHandl][T0][Y0-0000000000000000-0-0] [lt=3] unregister pm finish(&pm=0x7f04f8ed4940, pm.get_tid()=939)
[2025-12-16 18:19:25.395521] INFO destroy_tg (thread_mgr.cpp:91) [783][observer][T0][Y0-0000000000000000-0-0] [lt=24] destroy tg(tg_id=296, tg=0x7f0504589cb0, tg->attr_={name:SvrStartupHandler, type:4})
[2025-12-16 18:19:25.395548] INFO [SERVER] start (ob_server.cpp:1022) [783][observer][T0][Y0-0000000000000000-0-0] [lt=15] check if multi tenant synced(ret=-4009, ret=“OB_IO_ERROR”, stop_=true, synced=false)
[2025-12-16 18:19:25.395562] INFO [SERVER] start (ob_server.cpp:1031) [783][observer][T0][Y0-0000000000000000-0-0] [lt=14] check if schema ready(ret=-4009, ret=“OB_IO_ERROR”, stop_=true, schema_ready=false)
[2025-12-16 18:19:25.395566] INFO [SERVER] start (ob_server.cpp:1045) [783][observer][T0][Y0-0000000000000000-0-0] [lt=4] check if timezone usable(ret=-4009, ret=“OB_IO_ERROR”, stop_=true, timezone_usable=false)
[2025-12-16 18:19:25.395574] ERROR issue_dba_error (ob_log.cpp:1875) [783][observer][T0][Y0-0000000000000000-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_server.cpp”, line_no=1081, info=“failure occurs, try to set stop and wait”)
[2025-12-16 18:19:25.395585] EDIAG [SERVER] start (ob_server.cpp:1081) [783][observer][T0][Y0-0000000000000000-0-0] [lt=11][errcode=-4009] failure occurs, try to set stop and wait(ret=-4009, ret=“OB_IO_ERROR”) BACKTRACE:0x121ed505 0x50a84b5 0x519f76d 0x519f22f 0x518c3a4 0x519f0d3 0xa7c5370 0xa7c020d 0x72f873b 0x7f051da3acf3 0x531bf3e
[2025-12-16 18:19:25.395618] ERROR start (ob_server.cpp:1082) [783][observer][T0][Y0-0000000000000000-0-0] [lt=32][errcode=-4393] observer start process failure(msg=“observer start() has failure”, ret=-4009, ret=“OB_IO_ERROR”)
[2025-12-16 18:19:25.395625] INFO [SERVER] set_stop (ob_service.cpp:319) [783][observer][T0][Y0-0000000000000000-0-0] [lt=4] [OBSERVICE_NOTICE] observice need stop now
[2025-12-16 18:19:25.395632] INFO [SERVER] set_stop (ob_server.cpp:1142) [783][observer][T0][Y0-0000000000000000-0-0] [lt=4] [OBSERVER_NOTICE] observer is setted to stop

看报错时不支持fallocate,怎么解决这个问题呢

[
报错为4009问题可以参考这篇文档解决试试(https://www.oceanbase.com/knowledge-base/oceanbase-database-20000026029?back=kb)