

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <meta name="description" content="Hadoop Ozone Documentation">

    <title>Documentation for Apache Hadoop Ozone</title>

    
    <link href="css/bootstrap.min.css" rel="stylesheet">

    
    <link href="css/ozonedoc.css" rel="stylesheet">

  </head>


  <body>


<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sidebar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand hidden-xs" href="#">Apache Hadoop Ozone/HDDS documentation</a>
      <a class="navbar-brand visible-xs-inline" href="#">Hadoop Ozone</a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="https://github.com/apache/hadoop">Source</a></li>
        <li><a href="https://hadoop.apache.org">Apache Hadoop</a></li>
        <li><a href="https://apache.org">ASF</a></li>
      </ul>
    </div>
  </div>
</nav>


    <div class="container-fluid">
      <div class="row">
        
<div class="col-sm-3 col-md-2 sidebar" id="sidebar">
  <img src="ozone-logo.png" style="max-width: 100%;"/>
  <ul class="nav nav-sidebar">
    
    
        
            <li class="">
                
                   <a href="index.html">
                

                    
                    <span>Ozone Overview</span>
                </a>
            </li>
        
    
        
            <li class="">
                <a href="runningviadocker.html">
                    
                    <span>Getting Started</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="./runningviadocker.html">Alpha Cluster</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./settings.html">Configuration</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./realcluster.html">Starting an Ozone Cluster</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./ozonefs.html">Ozone File System</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./runningwithhdfs.html">Running concurrently with HDFS</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./buildingsources.html">Building from Sources</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="commandshell.html">
                    
                    <span>Client</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                               <a href="./commandshell.html">
                                 
                                 <span>Ozone CLI</span>
                               </a>
                               <ul class="nav">
                               
                                  <li class="">
                                     <a href="./volumecommands.html">Volume Commands</a>
                                  </li>
                               
                                  <li class="">
                                     <a href="./bucketcommands.html">Bucket Commands</a>
                                  </li>
                               
                                  <li class="">
                                     <a href="./keycommands.html">Key Commands</a>
                                  </li>
                               
                               </ul>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./s3.html">S3</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./javaapi.html">Java API</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="dozone.html">
                    
                    <span>Tools</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="./auditparser.html">Audit Parser</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./dozone.html">Dozone &amp; Dev Tools</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./freon.html">Freon</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./genconf.html">Generate Configurations</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./scmcli.html">SCMCLI</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="prometheus.html">
                    
                    <span>Recipes</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="./prometheus.html">Monitoring with Prometheus</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./sparkozonefsk8s.html">Spark in Kubernetes with OzoneFS</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="active">
                <a href="./concepts.html">
                    
                    <span>Architecture</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="./hdds.html">Hadoop Distributed Data Store</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./ozonemanager.html">Ozone Manager</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./ozonesecurityarchitecture.html">Ozone Security Overview</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="./setupsecureozone.html">Setup secure ozone cluster</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
    <li class="visible-xs"><a href="#">References</a>
    <ul class="nav">
        <li><a href="https://github.com/apache/hadoop"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Source</a></li>
        <li><a href="https://hadoop.apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Apache Hadoop</a></li>
        <li><a href="https://apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> ASF</a></li>
    </ul></li>
  </ul>

</div>

        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
            <h1>Architecture</h1>
            <div class="col-md-9">
              

<!---
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<p>Ozone is a redundant, distributed object store build by
leveraging primitives present in HDFS. The primary design point of ozone is scalability, and it aims to scale to billions of objects.</p>

<p>Ozone consists of volumes, buckets, and keys. A volume is similar to a home directory in the ozone world. Only an administrator can create it. Volumes are used to store buckets. Once a volume is created users can create as many buckets as needed. Ozone stores data as keys which live inside these buckets.</p>

<p>Ozone namespace is composed of many storage volumes. Storage volumes are also used as the basis for storage accounting.</p>

<p>To access a key, an Ozone URL has the following format:</p>

<pre><code>http://servername:port/volume/bucket/key
</code></pre>

<p>Where the server name is the name of a data node, the port is the data node HTTP port. The volume represents the name of the ozone volume; bucket is an ozone bucket created by the user and key represents the file.</p>

<p>Please look at the <a href="./commandshell.html#shell">command line interface</a>  for more info.</p>

<p>Ozone supports both (S3 compatible) REST and RPC protocols. Clients can choose either of these protocols to communicate with Ozone. Please see the <a href="./javaapi.html">client documentation</a> for more details.</p>

<p>Ozone separates namespace management and block space management; this helps
ozone to scale much better. The namespace is managed by a daemon called
<a href="./ozonemanager.html">Ozone Manager </a> (OM),  and block space is
managed by <a href="./hdds.html">Storage Container Manager</a> (SCM).</p>

<p>The data nodes provide replication and ability to store blocks; these blocks are stored in groups to reduce the metadata pressure on SCM. This groups of blocks are called storage containers. Hence the block manager is called storage container
manager.</p>

<h2 id="ozone-overview">Ozone Overview</h2>

<p> The following diagram is a high-level overview of the core components of Ozone.  </p>

<p><img src="../../OzoneOverview.svg" alt="Architecture diagram" /></p>

<p>The main elements of Ozone are :</p>

<h3 id="ozone-manager">Ozone Manager </h3>

<p><a href="./ozonemanager.html">Ozone Manager</a> (OM) takes care of the Ozone&rsquo;s namespace.
All ozone objects like volumes, buckets, and keys are managed by OM. In Short, OM is the metadata manager for Ozone.
OM talks to blockManager(SCM) to get blocks and passes it on to the Ozone
client.  Ozone client writes data to these blocks.
OM will eventually be replicated via Apache Ratis for High Availability. </p>

<h3 id="storage-container-manager">Storage Container Manager</h3>

<p><a href="./hdds.html">Storage Container Manager</a> (SCM) is the block and cluster manager for Ozone.
SCM along with data nodes offer a service called &lsquo;storage containers&rsquo;.
A storage container is a group unrelated of blocks that are managed together as a single entity.</p>

<p>SCM offers the following abstractions.  </p>

<p><img src="../../SCMBlockDiagram.png" alt="SCM Abstractions" /></p>

<h3 id="blocks">Blocks</h3>

<p>Blocks are similar to blocks in HDFS. They are replicated store of data. Client writes data to blocks.</p>

<h3 id="containers">Containers</h3>

<p>A collection of blocks replicated and managed together.</p>

<h3 id="pipelines">Pipelines</h3>

<p>SCM allows each storage container to choose its method of replication.
For example, a storage container might decide that it needs only one copy of a  block
and might choose a stand-alone pipeline. Another storage container might want to have a very high level of reliability and pick a RATIS based pipeline. In other words, SCM allows different kinds of replication strategies to co-exist. The client while writing data, chooses a storage container with required properties.</p>

<h3 id="pools">Pools</h3>

<p>A group of data nodes is called a pool. For scaling purposes,
we define a pool as a set of machines. This makes management of data nodes easier.</p>

<h3 id="nodes">Nodes</h3>

<p>The data node where data is stored. SCM monitors these nodes via heartbeat.</p>

<h3 id="clients">Clients</h3>

<p>Ozone ships with a set of clients. Ozone <a href="./commandshell.html#shell">CLI</a> is the command line interface like &lsquo;hdfs&rsquo; command.  <a href="./freon.html">Freon</a> is a  load generation tool for Ozone. </p>

<h2 id="s3-gateway">S3 gateway</h2>

<p>Ozone provides and <a href="./s3.html">S3 compatible REST gateway server</a>. All of the main S3 features are supported and any S3 compatible client library can be used.</p>

<h3 id="ozone-file-system">Ozone File System</h3>

<p><a href="./ozonefs.html">Ozone file system</a> 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 <code>hdfs dfs -ls o3fs://...</code> instead of <code>hdfs dfs -ls hdfs://...</code>)</p>

<h3 id="ozone-client">Ozone Client</h3>

<p>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.</p>

            </div>
        </div>
      </div>
    </div>




<script src="./js/jquery.min.js"></script>
<script src="./js/ozonedoc.js"></script>
<script src="./js/bootstrap.min.js"></script>


  </body>
</html>
