运行

Docker Compose

师成师成· 更新于 2026-09-28· 阅读 5 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

本指南将引导你完成从源代码构建 Apache Ozone 并使用 Docker Compose 运行它的过程。这种方法对于开发、测试以及理解 Ozone 的架构特别有用。

前置条件

开始之前,请确保已安装:

构建与部署 Ozone

第 1 步:从源代码构建

首先,按照我们的 使用 Maven 构建 指南从源代码构建 Ozone。

第 2 步:定位 Docker Compose 文件

进入构建输出中的 compose 目录:

cd ./hadoop-ozone/dist/target/ozone-<VERSION>/compose/ozone

第 3 步:配置你的部署(可选)

你可以通过修改 docker-compose.yaml 文件中的配置参数来自定义 Ozone 部署:

  1. 通用配置:位于 x-common-config 部分
  2. 各服务专属设置:位于各个服务的 environment 部分

配置修改示例:

# Example configuration modifications
x-common-config:
  environment:
    OZONE-SITE.XML_ozone.scm.container.size: 1GB
    OZONE-SITE.XML_ozone.scm.block.size: 256MB

第 4 步:启动集群

启动你的 Ozone 集群:

docker compose up -d --scale datanode=3

该命令使用 ozone-docker-runner 基础镜像创建一个功能完备的 Apache Ozone 集群,该镜像会挂载你本地编译的 Ozone 二进制文件。

容器架构图

此图展示了在 /compose/ozone 目录下使用默认 Docker Compose 配置执行 docker compose up -d 命令时所创建的容器。

集群组件

核心服务

你的 Ozone 集群包含以下组件:

  • Storage Container Manager (SCM):管理存储容器与块分配
  • Ozone Manager (OM):处理命名空间操作与元数据管理
  • S3 Gateway:提供兼容 S3 的 API 访问
  • Recon:监控与管理服务
  • Datanodes:分布式存储节点
  • HttpFS:基于 HTTP 的文件系统接口

集群管理

常用命令

以下是管理 Ozone 集群的关键命令:

# Start the cluster
docker compose up -d

# Stop and remove all containers
docker compose down

# Monitor service logs
docker compose logs -f [service_name]

# Scale the number of datanodes
docker compose up -d --scale datanode=3

# Check cluster status
docker compose ps

CLI 访问

可以从任意 Ozone 容器中访问 Ozone 命令行界面:

# Enter the Ozone Manager container or any other container
docker compose exec om bash

# Run Ozone commands
ozone

高级配置

compose 目录中包含多种针对不同使用场景的专用配置:

配置名称用途
ozone-ha高可用部署设置
ozonesecure启用 SSL 和 Kerberos 的安全特性
ozone-topology机架感知部署配置
upgrade非滚动升级测试环境

要查看这些配置:

cd hadoop-ozone/dist/target/ozone-*-SNAPSHOT/compose/

后续步骤

在搭建好开发集群之后:

  1. 查阅 Ozone CLI 文档
  2. 针对特定使用场景,尝试各种 Compose 配置方案

评论

登录后参与评论

正在加载评论…