apache/ozoneApache Hadoop Ozone 便利镜像是基于 Apache Hadoop Ozone 构建的预配置容器镜像,旨在简化 Ozone 分布式对象存储系统的部署与使用。Ozone 是 Hadoop 生态体系中的分布式对象存储解决方案,具备高扩展性、高可用性和强一致性,支持海量非结构化数据存储,并兼容 S3 API 及 Hadoop 文件系统(HDFS)接口。
本镜像作为"便利镜像",通过预配置基础环境、集成常用组件依赖及提供简化的部署流程,帮助用户快速搭建 Ozone 集群环境,适用于开发测试、学习演示及小规模生产场景。
docker-compose 配置模板,支持一键构建和启动多节点 Ozone 集群。docker-compose.yaml 的 Ozone 便利镜像源码/配置包(通常包含镜像构建上下文及部署配置)。构建镜像(若未使用预构建镜像):
在包含 docker-compose.yaml 的目录下执行:
bashdocker-compose build
启动集群:
bashdocker-compose up -d
该命令将启动 Ozone 集群的核心服务(如 Ozone Manager、Storage Container Manager、Datanode 等),并在后台运行。
验证集群状态:
通过查看服务日志确认启动成功:
bashdocker-compose logs -f ozone-manager # 查看 Ozone Manager 日志
或访问 Ozone Web UI(默认地址:http://localhost:9874,需根据配置确认端口)。
bashdocker-compose down
bashdocker-compose down -v
Ozone 核心配置通过 ozone-site.xml 文件定义。默认情况下,镜像内置基础配置,用户可通过挂载自定义配置文件覆盖默认值:
在 docker-compose.yaml 中为服务添加卷挂载:
yamlservices: ozone-manager: volumes: - ./custom-ozone-site.xml:/etc/hadoop/ozone-site.xml # 挂载自定义配置文件
镜像支持通过环境变量动态修改 ozone-site.xml 配置,格式为 OZONE_SITE_XML_<配置项名称>,其中配置项名称需将 . 替换为 _。例如:
OZONE_SITE_XML_ozone_replication_factor=3OZONE_SITE_XML_ozone_manager_address=ozone-manager:9862在 docker-compose.yaml 中添加环境变量:
yamlservices: ozone-manager: environment: - OZONE_SITE_XML_ozone_replication_factor=2 # 自定义副本数为 2 - OZONE_SITE_XML_ozone_manager_port=9862
以下为典型的 Ozone 便利镜像 docker-compose.yaml 配置(包含核心服务):
yamlversion: '3.8' services: # Ozone Manager:管理对象元数据(卷、桶、对象) ozone-manager: build: . # 基于当前目录的 Dockerfile 构建 container_name: ozone-manager ports: - "9874:9874" # Web UI 端口 - "9862:9862" # 服务端口 environment: - SERVICE_NAME=ozone-manager - OZONE_SITE_XML_ozone_replication_factor=3 - OZONE_SITE_XML_ozone_manager_address=ozone-manager:9862 volumes: - ozone-manager-data:/data/ozone networks: - ozone-net # Storage Container Manager:管理存储容器元数据 scm: build: . container_name: scm ports: - "9876:9876" # Web UI 端口 - "9860:9860" # 服务端口 environment: - SERVICE_NAME=scm - OZONE_SITE_XML_ozone_scm_address=scm:9860 volumes: - scm-data:/data/ozone networks: - ozone-net # Datanode:存储实际数据块 datanode: build: . container_name: datanode depends_on: - scm environment: - SERVICE_NAME=datanode - OZONE_SITE_XML_ozone_scm_address=scm:9860 volumes: - datanode-data:/data/ozone networks: - ozone-net networks: ozone-net: driver: bridge volumes: ozone-manager-data: scm-data: datanode-data:
docker-compose build(首次使用或修改 Dockerfile 后执行)。docker-compose up -d(后台启动所有服务)。docker-compose ps(检查各服务运行状态)。http://localhost:9874(Ozone Manager UI)或 http://localhost:9876(SCM UI)。| 环境变量名称 | 说明 | 默认值示例 |
|---|---|---|
SERVICE_NAME | 容器运行的 Ozone 服务角色 | ozone-manager |
OZONE_SITE_XML_ozone_replication_factor | 对象数据副本数 | 3 |
OZONE_SITE_XML_ozone_manager_address | Ozone Manager 服务地址(主机:端口) | ozone-manager:9862 |
OZONE_SITE_XML_ozone_scm_address | SCM 服务地址(主机:端口) | scm:9860 |
OZONE_SITE_XML_ozone_datanode_rpc_port | Datanode RPC 端口 | 9850 |
ozone-site.xml:Ozone 主配置文件,包含所有服务参数(如副本策略、端口、存储路径等),可通过环境变量或挂载文件自定义。core-site.xml:Hadoop 核心配置,用于集成 HDFS 接口(如需 HDFS 兼容性)。ozone-manager-data、scm-data 等)用于持久化存储元数据和数据,删除卷将导致数据丢失。docker-compose.yaml 中的服务定义及网络配置。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务