Client Interfaces

Multi-Protocol Support

Ozone is a multi-protocol file system. There are different protocols by which users can access data on Ozone.

Ofs (Hadoop compatible)

Hadoop Compatible file system allows any application that expects an HDFS like interface to work against Ozone with zero changes. Frameworks like Apache Spark, YARN and Hive work against Ozone without needing any change. Global level view.

O3fs (Hadoop compatible)

Hadoop Compatible file system allows any application that expects an HDFS like interface to work against Ozone with zero changes. Frameworks like Apache Spark, YARN and Hive work against Ozone without needing any change. Bucket level view.

S3 Protocol

Ozone supports Amazon’s Simple Storage Service (S3) protocol. In fact, You can use S3 clients and S3 SDK based applications without any modifications with Ozone.

Command Line Interface

Ozone shell is the primary interface to interact with Ozone from the command line. Behind the scenes it uses the Java API. There are some functionality which couldn’t be accessed without using ozone sh commands. For example: Creating volumes with quota Managing internal ACLs Creating buckets with encryption key All of these are one-time, administration tasks. Applications can use Ozone without this CLI using other interface like Hadoop Compatible File System (o3fs or ofs) or S3 interface.

Java API

Ozone has a set of Native RPC based APIs. This is the lowest level API’s on which all other protocols are built. This is the most performant and feature-full of all Ozone protocols.

CSI Protocol

Ozone supports Container Storage Interface(CSI) protocol. You can use Ozone by mounting an Ozone volume by Ozone CSI.