Apache Ozone[1] 은 Hadoop 생태계에서 나온 분산 오브젝트 스토리지다. HDFS 가 NameNode 한 대의 메모리에 모든 블록 메타데이터를 두는 탓에 파일 수가 수억 개를 넘기면 한계에 닿는 문제를, 네임스페이스(키)와 블록 공간을 서로 다른 서비스로 나누고 블록을 컨테이너(기본 5GB) 단위로 묶어 관리하는 방식으로 푼다. 수십억 개의 작은 객체를 담을 수 있고, S3 API 와 Hadoop 호환 파일 시스템(ofs://)을 동시에 제공해 Spark · Hive · Iceberg · Flink 가 그대로 붙는다.
데이터는 볼륨(Volume) → 버킷(Bucket) → 키(Key) 세 단계로 조직한다[2]. 볼륨은 테넌트나 사용자 계정에 해당하고, 버킷은 디렉터리, 키는 파일에 해당한다. 버킷은 만들 때 레이아웃을 고른다 — 파일 시스템 의미론(디렉터리 rename · 재귀 삭제가 원자적)이 필요하면 FSO(File System Optimized), 순수 오브젝트 스토어로 쓰면 OBS(Object Store)[3].
| 계열 | 상태 | 비고 |
|---|---|---|
| 2.2 | 현행. 최신 2.2.1[4] | 2026-08-27 |
| 2.1 | 유지보수. 최신 2.1.2 | 2026-09-18 |
| 2.0 | 2025-04-30 | |
| 1.4 이하 | 아카이브. 권장하지 않음 |
Cloudera CDP Private Cloud Base 에 Ozone 이 들어 있다. 배포판 쪽 차이는 Cloudera 를 볼 것.
| 항목 | 요구[5] |
|---|---|
| Java | OpenJDK 11 또는 17 |
| OS | RHEL/CentOS 7 이상, Ubuntu 20.04 이상 |
| 메모리 | 노드당 최소 4GB. OM · SCM 은 메타데이터를 RocksDB 에 두므로 별도 SSD 가 좋다 |
| 노드 | OM 1대(HA 는 3대) · SCM 1대(HA 는 3대) · DataNode 3대 이상(복제 계수 3) |
| 네트워크 | 노드 간 통신 · SSH |
| 구성 요소 | 역할 | 기본 포트 |
|---|---|---|
| Ozone Manager (OM) | 네임스페이스 관리자. 볼륨 · 버킷 · 키 메타데이터와 키→블록 매핑을 RocksDB 에 둔다. HA 는 Apache Ratis(Raft) 로 상태를 복제한다[6] | RPC 9862 · HTTP 9874 |
| Storage Container Manager (SCM) | 블록 공간 관리자. 블록 할당, 컨테이너와 파이프라인(복제 그룹) 관리, 복제본 감시 · 복구, 클러스터 인증서 발급(CA)을 맡는다. 시작 시 안전 모드로 들어가 클러스터가 안정될 때까지 블록 할당을 막는다[7] | HTTP 9876 |
| DataNode | 실제 데이터를 담는다. 블록을 컨테이너(기본 5GB)로 묶어 저장하고 SCM 에 컨테이너 리포트를 보낸다. HDFS 블록 리포트보다 약 40배 작다[8] | |
| Recon | 관리 · 모니터링 콘솔. OM · SCM 데이터베이스 사본과 DataNode 리포트를 모아 REST API 와 웹 UI 로 보여준다[9] | HTTP 9888 |
| S3 Gateway (S3G) | Amazon S3 호환 REST 인터페이스. S3 버킷은 기본적으로 /s3v 볼륨 아래에 만들어진다(ozone.s3g.volume.name)[10] |
HTTP 9878 |
| HttpFS Gateway | WebHDFS 호환 REST 인터페이스 |
클라이언트 인터페이스는 다음과 같다[11].
| 인터페이스 | 용도 |
|---|---|
ozone sh |
볼륨 · 버킷 · 키를 다루는 관리 CLI |
ofs:// |
Hadoop 호환 파일 시스템. ofs://<om-host 또는 om-service-id>/<volume>/<bucket>/<path> |
| S3 API | aws s3 --endpoint-url http://<s3g-host>:9878 로 S3 SDK · CLI 가 그대로 붙는다 |
| Java Client API | 프로그램에서 직접 접근 |
바이너리는 tar.gz 하나로 배포되고 모든 데몬을 같은 bin/ozone 으로 띄운다[5:1]. 최소 설정은 etc/hadoop/ozone-site.xml 에 다음 다섯 항목이다.
cd /usr/local/src
sudo curl -LO https://dlcdn.apache.org/ozone/2.2.1/ozone-2.2.1.tar.gz
sudo tar -xzf ozone-2.2.1.tar.gz -C /opt/apps/
sudo ln -s /opt/apps/ozone-2.2.1 /opt/ozone
<configuration>
<property>
<name>ozone.metadata.dirs</name>
<value>/data/ozone/metadata</value>
</property>
<property>
<name>ozone.scm.names</name>
<value>scm-host.example.com</value>
</property>
<property>
<name>ozone.om.address</name>
<value>om-host.example.com</value>
</property>
<property>
<name>ozone.scm.datanode.id.dir</name>
<value>/data/ozone/datanode/id</value>
</property>
<property>
<name>hdds.datanode.dir</name>
<value>/data/ozone/datanode/data</value>
</property>
</configuration>
초기화는 SCM → OM 순서로 한 번만 하고, 기동은 SCM → OM → DataNode 순서다.
bin/ozone scm --init
bin/ozone om --init
bin/ozone --daemon start scm
bin/ozone --daemon start om
bin/ozone --daemon start datanode
동작 확인.
bin/ozone sh volume create /vol1
bin/ozone sh bucket create /vol1/bucket1
bin/ozone sh key put /vol1/bucket1/key1 /tmp/test.txt
bin/ozone sh key list /vol1/bucket1
bin/ozone fs -ls ofs://om-host.example.com/vol1/bucket1/
노드별 역할 분리, HA, Kerberos 는 공식 관리자 가이드[12]를 따른다.
ozone sh 로 하는 일상 작업./<volume>/<bucket>/<key> 이고 Volume 은…Apache Ozone — 2026-09-20 확인. https://ozone.apache.org/ ↩︎
Namespace overview — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/namespace/overview ↩︎
Bucket layouts — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/namespace/buckets/layouts/ ↩︎
최신 버전 2.2.1 — 2026-09-20 확인. https://ozone.apache.org/download/ ↩︎
Bare metal installation — 2026-09-20 확인. https://ozone.apache.org/docs/quick-start/installation/bare-metal ↩︎ ↩︎
Ozone Manager — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/architecture/ozone-manager ↩︎
Storage Container Manager — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/architecture/storage-container-manager ↩︎
Datanodes — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/architecture/datanodes ↩︎
Recon — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/architecture/recon ↩︎
S3 Gateway — 2026-09-20 확인. https://ozone.apache.org/docs/core-concepts/architecture/s3-gateway ↩︎
Client interfaces — 2026-09-20 확인. https://ozone.apache.org/docs/user-guide/client-interfaces/ ↩︎
Administrator guide — 2026-09-20 확인. https://ozone.apache.org/docs/administrator-guide/ ↩︎