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.
Ofs (Hadoop compatible)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.
O3fs (Hadoop compatible)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.
S3 ProtocolCommand Line Interface
Ozone shell is the primary interface to interact with Ozone from the command line. Behind the scenes it uses the Java API.
Command Line InterfaceRecon API
Recon server supports HTTP endpoints to help troubleshoot and monitor Ozone cluster.
Recon APIJava 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.
Java APIAccessing Apache Ozone from Python
Access Apache Ozone from Python using PyArrow, Boto3, requests and fsspec WebHDFS libraries
Accessing Apache Ozone from PythonCSI Protocol
Ozone supports Container Storage Interface(CSI) protocol. You can use Ozone by mounting an Ozone volume by Ozone CSI.
CSI ProtocolHttpFS Gateway
Ozone HttpFS is a WebHDFS compatible interface implementation, as a separate role it provides an easy integration with Ozone.
HttpFS GatewayNative C/C++ Client Access to Ozone
Components Summary
- libhdfs: The standard Hadoop C API. It is a JNI bridge between C/C++ and Java FileSystem implementations.
- libo3fs: Lightweight wrapper exposing a simplified API for Ozone clients. It is built on top of
libhdfs
. - OFS (Ozone FileSystem): Java-based filesystem client used internally by
libhdfs
to interact with Ozone.
Overview
Native C/C++ applications can access Ozone volumes and buckets using Hadoop HDFS’s libhdfs
JNI library.
As an example, Apache Impala uses this library to access Ozone.