基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
加载和运行 ODC 镜像
更新时间:2026-04-13 15:35:53
完成 OceanBase 开发者中心(OceanBase Developer Center,ODC)元数据库的初始化后,需拉取和运行 ODC 镜像。镜像运行成功 ODC 的单节点部署即可完成。
加载镜像
首先要在宿主机上获得 ODC 镜像,在以下列表选择所需镜像,单击 [下载] 以获得镜像:
在宿主机上获得镜像文件后,在命令行工具中运行下述语句加载镜像:
gunzip -c obodc-{$version}.tar.gz | docker load
运行镜像
在宿主机上获得 ODC 镜像后,在命令行工具中运行镜像的示例语句如下所示:
#!/usr/bin/env bash
docker run --volume /var/log/odc:/opt/odc/log \
-d -i --net host --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \
-e "DATABASE_HOST=1xx.xx.xx.xx" \
-e "DATABASE_PORT=60805" \
-e "DATABASE_USERNAME=[用户名]@[租户名称]#[集群名称]" \
-e "DATABASE_PASSWORD=******" \
-e "DATABASE_NAME=odc_metadb" \
-e "ODC_PROFILE_MODE=alipay" \
reg.docker.alibaba-inc.com/oceanbase/odc-server:{image_tag}
其中,{image_tag} 可在宿主机上加载镜像后运行 docker images 语句查看,其他参数说明如下表所示:
| 参数 | 说明 |
|---|---|
| --volume | 宿主机的 /var/log/odc 目录映射到 ODC 容器 内的 /opt/odc/log 目录。 /var/log/odc 为宿主机的目录,如不存在需先创建,创建目录的参考命令 mkdir -p /var/log/odc。 |
| --net | 指定容器的网络配置,指定该参数值为 host 即直接使用宿主机网络。 您也可以使用 --publish(-p)参数配置端口映射,但是部分环境可能出现因为 Docker 内 DNS 解析出错而启动容器失败,此时请使用 --net host 方式启动 Docker。 |
| --cpu-period --cpu-quota | ---cpu-period 用来指定容器对 CPU 的使用要在多长时间内做一次重新分配。单位为微秒。---cpu-quota 用来指定在这个周期内,最多可以有多少时间用来运行当前容器。单位为微秒。cpu-quota/cpu-period 的值即为 Docker 可以使用的 CPU 核数,示例语句中 400000/100000=4 表示最多可以使用 4 个核。 |
| --memory | 设置容器使用的内存最大值。 |
| --name | 指定容器名称。 |
| DATABASE_HOST | 元数据库 IP 地址。 |
| DATABASE_PORT | 元数据库端口号。 |
| DATABASE_USERNAME | 元数据库用户名,OceanBase 数据库用户名的格式为 db_user@tenant_name#cluster_name。 |
| DATABASE_PASSWORD | 连接数据库的用户名。 |
| DATABASE_NAME | 元数据库名。 |
| ODC_PROFILE_MODE | 指定模式,默认指定为 alipay。 |
除上述参数外,运行镜像时您还可以根据需求使用下述参数:
| 参数 | 说明 |
|---|---|
| ODC_LOG_DIR | 指定日志目录,默认路径为 /opt/odc/log。 |
| OBCLIENT_WORK_DIR | 指定 OBClient 工作目录,默认路径为 /opt/odc/data。 |
| ODC_JAR_FILE | 指定 Jar 文件目录,默认路径为 /opt/odc/lib/odc-web-starter-*.jar。 |
| ODC_WORK_DIR | 指定 ODC 工作目录,默认路径为 /opt/odc/script。 |
| ODC_JVM_HEAP_OPTIONS | 指定 JVM 堆内存,默认最大内存参数 -Xmx 的值为可用物理内存的 60%。 ODC 启动脚本会检查当前环境的可用内存是否达到 2048 M, 按照 60% 计算需要有 3.4 G 内存才可以启动。如果宿主机或 Docker 的内存配置低于 3.4 G,可以通过指定参数 ODC_JVM_HEAP_OPTIONS 来绕过可用内存检查,例如可以配置为 "-Xmx2048m -Xms2048m"。 |
| ODC_JVM_GC_OPTIONS | 指定 JVM GC 策略,默认指定为 -XX:+UseG1GC -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/opt/odc/log/gc.log -XX:+UseGCLogFileRotation -XX:GCLogFileSize=50M -XX:NumberOfGCLogFiles=5。 |
| ODC_JVM_OOM_OPTIONS | 指定 JVM OutOfMemory 策略,默认指定为 -XX:+ExitOnOutOfMemoryError。 |
| ODC_JVM_EXTRA_OPTIONS | 指定其它需要的 JVM 配置参数,默认值为空。 |
| ODC_SERVER_PORT | 指定 ODC-Server 的 HTTP 监听端口,默认值为 8989。 |
| ODC_HOST | 指定 ODC 运行时的 IP 地址,该参数在高可用部署场景下做为远程过程调用的目的地址。 |
| ODC_PORT | 指定 ODC 运行时的端口号,该参数在高可用部署场景下做为远程过程调用的目的端口号。
说明该参数和 ODC_SERVER_PORT 并不影响,只做为远程过程调用发起时的端口参数。 |
| ODC_APP_EXTRA_ARGS | 其它需要指定的 App 参数。 例如 --server.servlet.session.timeout=10m,表示 Session 过期时间为 10 分钟。默认值为空。 |