Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions hadoop-hdds/docs/content/CommandShell.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,8 @@ _\[scheme\]\[server:port\]/volume/bucket/key_

Where,

1. Scheme - Can be one of the following
* o3 - Ozone's native RPC protocol. If you specify this scheme, the
native RPC protocol is used while communicating with Ozone Manager and
data nodes.
* http/https - If an HTTP protocol is specified, then Ozone shell assumes
that you are interested in using the Ozone Rest protocol and falls back
to using the REST protocol instead of RPC.
If no protocol is specified, the Ozone shell defaults to the native RPC
protocol.
1. Scheme - This should be `o3` which is the native RPC protocol to access

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whitespace:end of line

Ozone API. The usage of the schema is optional.

2. Server:Port - This is the address of the Ozone Manager. This can be server
only, in that case, the default port is used. If this value is omitted
Expand Down
14 changes: 7 additions & 7 deletions hadoop-hdds/docs/content/Concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Where the server name is the name of a data node, the port is the data node HTTP

Please look at the [command line interface]({{< ref "CommandShell.md#shell" >}}) for more info.

Ozone supports both REST and RPC protocols. Clients can choose either of these protocols to communicate with Ozone. Please see the [client documentation]({{< ref "JavaApi.md" >}}) for more details.
Ozone supports both (S3 compatible) REST and RPC protocols. Clients can choose either of these protocols to communicate with Ozone. Please see the [client documentation]({{< ref "JavaApi.md" >}}) for more details.

Ozone separates namespace management and block space management; this helps
ozone to scale much better. The namespace is managed by a daemon called
Expand Down Expand Up @@ -96,13 +96,13 @@ The data node where data is stored. SCM monitors these nodes via heartbeat.
### Clients
Ozone ships with a set of clients. Ozone [CLI]({{< ref "CommandShell.md#shell" >}}) is the command line interface like 'hdfs' command.
 [Freon] ({{< ref "Freon.md" >}}) is a load generation tool for Ozone.


### REST Handler
Ozone provides an RPC (Remote Procedure Call) as well as a REST (Representational State Transfer) interface. This allows clients to be written in many languages quickly. Ozone strives to maintain an API compatibility between REST and RPC.
For most purposes, a client can make one line change to switch from REST to RPC or vice versa. 

## S3 gateway

Ozone provides and [S3 compatible REST gateway server]({{< ref "S3.md">}}). All of the main S3 features are supported and any S3 compatible client library can be used.

### Ozone File System
Ozone file system (TODO: Add documentation) is a Hadoop compatible file system. This allows Hadoop services and applications like Hive and Spark to run against
Ozone without any change.
[Ozone file system]({{< ref "OzoneFS.md">}}) is a Hadoop compatible file system. This allows Hadoop services and applications like Hive and Spark to run against
Ozone without any change. (For example: you can use `hdfs dfs -ls o3fs://...` instead of `hdfs dfs -ls hdfs://...`)

### Ozone Client
This is similar to DFSClient in HDFS. This is the standard client to talk to Ozone. All other components that we have discussed so far rely on Ozone client. Ozone client supports both RPC and REST protocols.
This is similar to DFSClient in HDFS. This is the standard client to talk to Ozone. All other components that we have discussed so far rely on Ozone client. Ozone client supports RPC protocol.
20 changes: 4 additions & 16 deletions hadoop-hdds/docs/content/JavaApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,19 @@ menu:
Introduction
-------------

Ozone ships with its own client library that supports both RPC (Remote
Procedure Call) and REST (Representational State Transfer). This library is
the primary user interface to ozone.
Ozone ships with its own client library that supports RPC. For generic use cases the S3

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whitespace:end of line

compatible REST interface also can be used instead of the Ozone client.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whitespace:end of line


It is trivial to switch from RPC to REST or vice versa, by setting the
property _ozone.client.protocol_ in the configuration or by calling the
appropriate factory method.

## Creating an Ozone client
The Ozone client factory creates the ozone client. It allows the user to
specify the protocol of communication. For example, to get an REST client, we
can use

{{< highlight java >}}
OzoneClient ozClient = OzoneClientFactory.getRestClient();
{{< /highlight >}}

And to get a RPC client we can call
The Ozone client factory creates the ozone client. To get a RPC client we can call

{{< highlight java >}}
OzoneClient ozClient = OzoneClientFactory.getRpcClient();
{{< /highlight >}}

If the user want to create a client based on the configuration, then they can
call
call.

{{< highlight java >}}
OzoneClient ozClient = OzoneClientFactory.getClient();
Expand Down
Loading