Ozone is a multi-protocol file system. There are different protocols by which users can access data on Ozone.
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.
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. Bucket level view.
O3fs (Hadoop compatible)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.
S3 ProtocolOzone 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.
Command Line InterfaceRecon server supports HTTP endpoints to help troubleshoot and monitor Ozone cluster.
Recon APIOzone 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.
Java APIOzone supports Container Storage Interface(CSI) protocol. You can use Ozone by mounting an Ozone volume by Ozone CSI.
CSI Protocol