
<!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="https://ozone.apache.org/">

    <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="https://ozone.apache.org/">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>

