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.
Recon API
Recon server supports HTTP endpoints to help troubleshoot and monitor Ozone cluster.
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.
HttpFS Gateway
Ozone HttpFS is a WebHDFS compatible interface implementation, as a separate role it provides an easy integration with Ozone.