mac 安装客户端ODC 4.3.3 版本后,启动失败

【 使用环境 】测试环境
【 OB or 其他组件 】ODC
【 使用版本 】4.3.3
image

【问题描述】

安装后,启动odc初始化失败:


相关日志:
main.log (61.1 KB)

[2025-02-20 20:56:11.709] [info] OS:

Darwin

platform: darwin

arch: x64

os_release: 24.3.0

uptime: 337436

mem: 25769803776

cpu: [{“model”:“Apple M3”,“speed”:24,“times”:{“user”:5088380,“nice”:0,“sys”:4299330,“idle”:28113680,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:4595030,“nice”:0,“sys”:3665990,“idle”:29300120,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:3536490,“nice”:0,“sys”:2775550,“idle”:31333210,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:2644810,“nice”:0,“sys”:2029010,“idle”:33057470,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:933780,“nice”:0,“sys”:212170,“idle”:36710070,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:731090,“nice”:0,“sys”:182980,“idle”:36944670,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:520620,“nice”:0,“sys”:139470,“idle”:37201320,“irq”:0}},{“model”:“Apple M3”,“speed”:24,“times”:{“user”:534400,“nice”:0,“sys”:110820,“idle”:37218500,“irq”:0}}]

version: 4.3.3

[2025-02-20 20:56:11.710] [info] app get lock success

[2025-02-20 20:56:11.946] [info] App Ready

[2025-02-20 20:56:11.949] [info] Screen: width: 1470, height: 956

[2025-02-20 20:56:11.955] [info] App Menu Ready

[2025-02-20 20:56:11.958] [info] create new main web

[2025-02-20 20:56:12.139] [info] checking java version

[2025-02-20 20:56:12.157] [info] 发现内置 JRE ,跳过版本检查

[2025-02-20 20:56:12.217] [info] realport: 8989

[2025-02-20 20:56:12.219] [info] resourcesPath: /Applications/OceanBase Developer Center.app/Contents/Resources

[2025-02-20 20:56:12.220] [info] resourcesPath: /Applications/OceanBase Developer Center.app/Contents/Resources

[2025-02-20 20:56:12.220] [info] resourcesPath: /Applications/OceanBase Developer Center.app/Contents/Resources

[2025-02-20 20:56:12.221] [info] platform: darwin

[2025-02-20 20:56:12.222] [info] 添加 java 执行权限

[2025-02-20 20:56:12.269] [info] javaBin: undefined

[2025-02-20 20:56:12.272] [info] jspawnhelper: undefined

[2025-02-20 20:56:12.274] [info] renderer path: file:/Applications/OceanBase Developer Center.app/Contents/Resources/renderer/

[2025-02-20 20:56:12.277] [info] obPath: /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/obclient/bin/obclient

[2025-02-20 20:56:12.277] [info] jvmOptions: -Xms512m -Xmx2048m

[2025-02-20 20:56:12.284] [info]

system env

MallocNanoZone

USER

COMMAND_MODE

__CFBundleIdentifier

PATH

LOGNAME

SSH_AUTH_SOCK

HOME

SHELL

TMPDIR

__CF_USER_TEXT_ENCODING

XPC_SERVICE_NAME

XPC_FLAGS

ORIGINAL_XDG_CURRENT_DESKTOP

[2025-02-20 20:56:12.285] [info]

runJavaProcess

jar: /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/java/odc.jar

cwd: /Users/yuan/Library/Application Support/odc

env: {

“ODC_WEB_STATIC_LOCATION”: “file:/Applications/OceanBase Developer Center.app/Contents/Resources/renderer/”,

“DB_PATH”: “/Users/yuan/Library/Application Support/odc”,

“ODC_PROFILE_MODE”: “clientMode”,

“PATH”: “/usr/bin:/bin:/usr/sbin:/sbin”,

“JAVA_HOME”: “/Applications/OceanBase Developer Center.app/Contents/Resources/libraries/jre/Home”,

“ODC_PLUGIN_DIR”: “/Applications/OceanBase Developer Center.app/Contents/Resources/libraries/java/plugins”,

“ODC_STARTER_DIR”: “/Applications/OceanBase Developer Center.app/Contents/Resources/libraries/java/starters”,

“server.port”: “8989”,

“obclient.work.dir”: “/Users/yuan/Library/Application Support/odc/data”,

“file.storage.dir”: “/Users/yuan/Library/Application Support/odc/data”,

“obclient.file.path”: “/Applications/OceanBase Developer Center.app/Contents/Resources/libraries/obclient/bin/obclient”

}

[2025-02-20 20:56:12.286] [info] fetch server status count(1)

[2025-02-20 20:56:12.369] [info] check server with resp err

[2025-02-20 20:56:12.373] [info] check server with false

[2025-02-20 20:56:16.378] [info] fetch server status count(2)

[2025-02-20 20:56:16.387] [info] check server with resp err

[2025-02-20 20:56:16.390] [info] check server with false

[2025-02-20 20:56:20.393] [info] fetch server status count(3)

[2025-02-20 20:56:20.396] [info] check server with resp err

[2025-02-20 20:56:20.397] [info] check server with false

[2025-02-20 20:56:24.404] [info] fetch server status count(4)

[2025-02-20 20:56:24.413] [info] check server with resp err

[2025-02-20 20:56:24.415] [info] check server with false

[2025-02-20 20:56:28.419] [info] fetch server status count(5)

[2025-02-20 20:56:28.423] [info] check server with resp err

[2025-02-20 20:56:28.425] [info] check server with false

[2025-02-20 20:56:32.430] [info] fetch server status count(6)

[2025-02-20 20:56:32.434] [info] check server with resp err

[2025-02-20 20:56:32.434] [info] check server with false

[2025-02-20 20:56:36.435] [info] fetch server status count(7)

[2025-02-20 20:56:36.440] [info] check server with resp err

[2025-02-20 20:56:36.442] [info] check server with false

[2025-02-20 20:56:40.448] [info] fetch server status count(8)

[2025-02-20 20:56:40.452] [info] check server with resp err

[2025-02-20 20:56:40.454] [info] check server with false

[2025-02-20 20:56:44.461] [info] fetch server status count(9)

[2025-02-20 20:56:44.468] [info] check server with resp err

[2025-02-20 20:56:44.470] [info] check server with false

[2025-02-20 20:56:48.473] [info] fetch server status count(10)

[2025-02-20 20:56:48.482] [info] check server with resp err

[2025-02-20 20:56:48.484] [info] check server with false

[2025-02-20 20:56:52.489] [info] fetch server status count(11)

[2025-02-20 20:56:52.496] [info] check server with resp err

[2025-02-20 20:56:52.498] [info] check server with false

[2025-02-20 20:56:56.500] [info] fetch server status count(12)

[2025-02-20 20:56:56.507] [info] check server with resp err

[2025-02-20 20:56:56.509] [info] check server with false

[2025-02-20 20:57:00.513] [info] fetch server status count(13)

[2025-02-20 20:57:00.521] [info] check server with resp err

[2025-02-20 20:57:00.523] [info] check server with false

[2025-02-20 20:57:04.529] [info] fetch server status count(14)

[2025-02-20 20:57:04.537] [info] check server with resp err

[2025-02-20 20:57:04.539] [info] check server with false

[2025-02-20 20:57:08.545] [info] fetch server status count(15)

[2025-02-20 20:57:08.552] [info] check server with resp err

[2025-02-20 20:57:08.554] [info] check server with false

[2025-02-20 20:57:12.560] [info] fetch server status count(16)

[2025-02-20 20:57:12.570] [info] check server with resp err

[2025-02-20 20:57:12.572] [info] check server with false

[2025-02-20 20:57:16.578] [info] fetch server status count(17)

[2025-02-20 20:57:16.583] [info] check server with resp err

[2025-02-20 20:57:16.583] [info] check server with false

[2025-02-20 20:57:20.589] [info] fetch server status count(18)

[2025-02-20 20:57:21.226] [info] check server api status: 200

[2025-02-20 20:57:21.296] [info] Server startup time: 69.01

[2025-02-20 20:57:21.298] [info] Main Server Start Success(port=8989, path=/Applications/OceanBase Developer Center.app/Contents/Resources/libraries/java/odc.jar)!!!

[2025-02-20 20:57:21.298] [info] create new main web(server start success)

[2025-02-20 20:57:21.298] [info] renderer url: http://127.0.0.1:8989/index.html

[2025-02-20 20:57:21.308] [info] create new main web(window opened)

[2025-02-20 20:57:39.670] [warn] webcontent close, url: http://127.0.0.1:8989/index.html

[2025-02-20 20:57:41.552] [warn] webcontent closed

[2025-02-20 20:57:41.553] [info] windows all closed

[2025-02-20 21:01:25.411] [info] app activate

[2025-02-20 21:01:25.413] [info] windows length is 0, create new window

[2025-02-20 21:01:25.413] [info] create new main web

[2025-02-20 21:01:25.440] [info] create new main web(server start success)

[2025-02-20 21:01:25.441] [info] renderer url: http://127.0.0.1:8989/index.html

[2025-02-20 21:01:25.443] [info] create new main web(window opened)

[2025-02-20 21:05:34.983] [info] app activate

[2025-02-20 21:07:10.569] [warn] webcontent close, url: http://127.0.0.1:8989/index.html

[2025-02-20 21:07:12.344] [warn] webcontent closed

[2025-02-20 21:07:12.346] [info] windows all closed

[2025-02-20 21:09:54.126] [info] app activate

[2025-02-20 21:09:54.128] [info] windows length is 0, create new window

[2025-02-20 21:09:54.128] [info] create new main web

[2025-02-20 21:09:54.152] [info] create new main web(server start success)

[2025-02-20 21:09:54.153] [info] renderer url: http://127.0.0.1:8989/index.html

[2025-02-20 21:09:54.155] [info] create new main web(window opened)

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

3 个赞

根据您提供的信息,您的问题主要集中在启动 ODC (OceanBase Developer Center) 4.3.3 版本时遇到的初始化失败问题。从日志和截图来看,ODC 启动后未能成功加载或初始化某些组件。

分析与建议

  1. Java 环境问题

    • 日志中提到 javaBin: undefinedjspawnhelper: undefined,这表明 ODC 在尝试启动内置的 Java 进程时遇到了问题。可能是由于 Java 环境配置不正确或缺失。
    • 建议:请确保系统中已安装了兼容的 JDK,并且环境变量配置正确。您可以尝试手动设置 JAVA_HOMEPATH 环境变量,指向正确的 JDK 安装路径。
  2. 权限问题

    • 日志中有 添加 java 执行权限 的记录,但后续没有明确说明是否成功。如果权限不足,可能会导致 Java 进程无法正常启动。
    • 建议:检查 ODC 应用程序及其相关文件夹(如 /Applications/OceanBase Developer Center.app/Contents/Resources)的权限设置,确保当前用户有足够的权限执行这些文件。
  3. 网络端口冲突

    • 日志显示 ODC 尝试使用端口 8989,但如果该端口已被其他应用程序占用,可能会导致启动失败。
    • 建议:检查是否有其他应用程序占用了端口 8989,可以使用命令 lsof -i :8989 来查看。如果有冲突,请关闭占用该端口的应用程序,或者尝试修改 ODC 的配置以使用其他端口。
  4. 重新安装 ODC

    • 如果上述方法都无法解决问题,可能是安装包本身存在问题。
    • 建议:尝试卸载当前版本的 ODC,然后从官方渠道重新下载并安装最新版本的 ODC。
  5. 检查系统兼容性

    • 您的系统是 macOS Darwin 24.3.0,确保 ODC 4.3.3 版本支持此操作系统版本。有时,特定版本的操作系统可能存在兼容性问题。
    • 建议:查阅 ODC 的官方文档或发行说明,确认其对 macOS 的最低要求和支持版本。
  6. 查看详细日志

    • 如果问题仍然存在,建议收集更详细的日志信息,特别是 Java 进程启动时的日志。可以使用 OceanBase 提供的诊断工具 obdiag 收集更多信息,以便进一步排查问题。

总结

根据日志和截图信息,ODC 初始化失败可能与 Java 环境配置、权限设置、端口冲突等因素有关。建议按照上述步骤逐一排查,并确保系统环境符合 ODC 的运行要求。如果问题依然无法解决,建议联系 OceanBase 的技术支持团队获取更多帮助。

详情请参考:

  1. 4000 ~ 4499
  2. 0001 ~ 3999
3 个赞

你好 麻烦提供 /Users/admin/Library/Application Support/odc/logs/server 路径下的 odc.log 看看

3 个赞

服务端好像很少用mac的

2 个赞

:grinning: :grinning: :grinning: :grinning:

1 个赞

odc.log (503.8 KB)
谢谢!

2 个赞

根据您提供的 odc.log 文件内容,我们可以进一步分析 ODC 启动失败的原因。以下是详细的分析和建议:

日志分析

  1. Java 环境配置

    • 日志显示使用的是 OpenJDK 1.8.0_292-b10 版本的 Java 运行时环境。
    • JAVA_HOME 指向 /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/jre/Home,这表明 ODC 使用的是内置的 JRE。
  2. 初始化信息

    • 日志中记录了 ODC 服务器正在初始化 (odc server initializing...),但没有后续的成功启动日志,说明初始化过程中遇到了问题。
  3. 关键路径和配置

    • DB_PATHfile.storage.dir 都指向 /Users/yuan/Library/Application Support/odc 及其子目录。
    • obclient.file.path 指向 /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/obclient/bin/obclient
    • server.port 设置为 8989
  4. 权限和路径问题

    • 日志中没有明确提到权限问题,但考虑到之前提到的 javaBin: undefinedjspawnhelper: undefined,可能存在权限或路径解析问题。

具体问题及解决方案

1. Java 进程启动失败

  • 原因:从日志来看,ODC 尝试启动内置的 Java 进程,但未能成功。可能是由于权限不足或路径解析错误。
  • 解决方法
    • 检查权限:确保 /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/jre/Home/bin/java 文件具有可执行权限。可以使用命令 chmod +x /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/jre/Home/bin/java
    • 验证路径:确保所有路径(如 obclient.file.path)都正确无误,并且文件存在。

2. 端口冲突

  • 原因:如果端口 8989 被其他应用程序占用,ODC 将无法绑定该端口。
  • 解决方法
    • 使用命令 lsof -i :8989 检查端口占用情况。如果有其他进程占用,请关闭该进程或修改 ODC 的配置以使用其他端口。

3. 日志详细信息

  • 原因:当前日志信息较为有限,可能需要更详细的日志来进一步排查问题。
  • 解决方法
    • 修改 ODC 的日志级别为 DEBUGTRACE,以便获取更多调试信息。可以在 ODC 的配置文件中调整日志级别,或者通过命令行参数传递 -Dlogging.level=DEBUG

4. 重新安装 ODC

  • 原因:如果上述方法都无法解决问题,可能是安装包本身存在问题。
  • 解决方法
    • 卸载当前版本的 ODC,然后从官方渠道重新下载并安装最新版本的 ODC。

5. 系统兼容性

  • 原因:您的操作系统版本为 macOS 10.16,确保 ODC 4.3.3 版本支持此操作系统版本。
  • 解决方法
    • 查阅 ODC 的官方文档或发行说明,确认其对 macOS 的最低要求和支持版本。如果发现不兼容,考虑升级或降级操作系统版本。

总结

根据日志和之前的分析,ODC 初始化失败的主要原因可能是 Java 进程启动失败、端口冲突或权限问题。建议按照以下步骤逐一排查:

  1. 检查并设置正确的 Java 环境变量和权限。
  2. 确认端口 8989 是否被占用,并进行相应处理。
  3. 获取更详细的日志信息以进一步排查问题。
  4. 如果问题依然存在,尝试重新安装 ODC 或联系 OceanBase 的技术支持团队获取更多帮助。

希望这些建议能帮助您解决问题。如果还有其他疑问或需要进一步的帮助,请随时告知。

检索到的文档如下:

  1. Tomcat 连接池连接 OceanBase 数据库示例程序

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

1 个赞

可能之前删除odc有插件残留导致。
进一下cd /Applications/OceanBase Developer Center.app/Contents/Resources/libraries/java/plugins/
运行ls | grep connect-plugin-mysql 看看是不是有两个版本,删除connect-plugin-mysql-4.3.3-20250115.jar试试