
<!DOCTYPE html>

<html>

<head>
	<meta name="generator" content="Hugo 0.76.5" />
    <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="Object store for Hadoop">
    <meta name="keywords" content="hadoop, ozone, hdds, objectstore, scale"/>
    <meta name="robots" content="index,follow"/>
    <meta name="language" content="en"/>

    <title>Apache Hadoop Ozone</title>

    <base href="">

    <link rel="canonical" href="https://hadoop.apache.org/ozone">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
          integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
    <link rel="stylesheet" href="style.css">

</head>

<body>


<div class="topnav">
    <div class="container">
        <ul class="breadcrumb col-md-6">
            <li>
                <img class="asf-logo" src="asf_feather.png"/>
                <a  href="https://www.apache.org">Apache Software Foundation</span></a>
            </li>
            <li><a href="https://hadoop.apache.org">Apache Hadoop&trade;</a></li>
            <li><a href="">Ozone&trade;</a></li>
        </ul>
        <div class="col-md-6">
            <ul class="pull-right breadcrumb">
                <li><a href="https://www.apache.org/licenses/">License</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                <li><a href="https://www.apache.org/security/">Security</a></li>
        </ul>
        </div>
    </div>

    <nav class="navbar navbar-default navbar-static-top" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                        data-target="#ratis-menu" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>

            <div id="ratis-menu" class="collapse navbar-collapse">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="faq">FAQ</a></li>
                    <li><a href="downloads">Download</a></li>
                    <li><a href="docs">Documentation</a></li>
                    <li><a href="https://github.com/apache/hadoop-ozone">Source</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/HADOOP/Ozone+Contributor+Guide">Wiki</a></li>
                </ul>
            </div>

    </nav>

    <div style="max-height: 200px; overflow: hidden;">
      <img src="sunrise-ozone.jpg" style="width: 100%; left:0px;"/>
    </div>

</div>

</div>

<div class="main-section">

</div>

<div class="whatis">
    <div class="container">
        <div class="row header">
            <p class="lead">
                Ozone is a scalable, redundant, and distributed object store for Hadoop. Apart from scaling to billions of objects of varying sizes, Ozone can function effectively in containerized environments such as Kubernetes and YARN. </p> <p class="lead">Applications using frameworks like Apache Spark, YARN and Hive work natively without any modifications.</p>
            <p class="lead">Ozone is built on a highly available, replicated block storage layer called Hadoop Distributed Data Store (HDDS).
            </p>
            </p>
            <p></p>
            <p class="lead">Ozone is now Generally Available(GA) with <a href="release/1.0.0/">1.0.0</a> release.
            </p>
            <p></p>
        </div>
    </div>
</div>


<div class="main-section feature-list-group" style="padding: 80px;">
    <div class="container">
        <div class="row feature-list">
            <div class="col-md-4 col-sm-4 feature-item">

                <h4><span class="glyphicon glyphicon-signal" aria-hidden="true"></span> Scalable</h4>
                <p>
                 Ozone is designed to scale to tens of billions of files and
                 blocks and, in the future, even more.
                </p>
      
                <p></p>
            </div>
            <div class="col-md-4 col-sm-4 feature-item">
                <h4><span class="glyphicon glyphicon-link" aria-hidden="true"></span>
                   Consistent</h4>
                <p>
                    Ozone is a strongly consistent object store. This consistency is achieved by using protocols like RAFT.
                </p>
            </div>
            <div class="col-md-4 col-sm-4 feature-item">
                <h4><span class="glyphicon glyphicon-cloud" aria-hidden="true"></span>Cloud-native</h4>
                <p>Ozone is designed to work well in containerized environments like YARN and Kubernetes.
                </p>
            </div>

                 <div class="col-md-4 col-sm-4 feature-item">
                <h4><span class="glyphicon glyphicon-tower" aria-hidden="true"></span>Secure</h4>
                <p>Ozone integrates with kerberos infrastructure for access control and supports TDE and on-wire encryption.
                </p>
            </div>

 <div class="col-md-4 col-sm-4 feature-item">
                <h4><span class="glyphicon glyphicon-asterisk
" aria-hidden="true"></span>Multi-Protocol Support</h4>
                <p>Ozone supports different protocols like S3 
                and Hadoop File System APIs.

                </p>
            </div>


 <div class="col-md-4 col-sm-4 feature-item">
                <h4><span class="glyphicon glyphicon-random
" aria-hidden="true"></span>Highly Available</h4>
                <p>Ozone is a fully replicated system that is designed to survive multiple failures.
                </p>
            </div>

        </div>


    </div>
</div>




<footer>
    <div class="container">

        <div class="col-md-12 trademark">
            <p>&copy; 2020 <a href="http://apache.org">The Apache Software Foundation</a>,<br/>
                Apache, Apache Hadoop, the Apache feather logo, are trademarks of The Apache Software Foundation.
            <p>
        </div>
    </div>
</footer>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
        integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
        crossorigin="anonymous"></script>


</body>
</html>

