
<!DOCTYPE html>

<html>

<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="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 Ozone</title>

    <base href="https://ozone.apache.org/">

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

    <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://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/events/current-event">Events</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="community">Community</a></li>
                    <li><a href="https://github.com/apache/ozone">Source</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/OZONE">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="container">
<div class="row">
<div class="col-md-8">
<h1>Release 0.4.0-alpha available</h1>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/0.4.0.png" alt="badlands-haiku"></p>
<p>Apache Hadoop Ozone 0.4.0-alpha is released with following features:</p>
<ul>
<li>Hadoop Delegation Tokens and Block Tokens supported for Ozone.</li>
<li>Transparent Data Encryption (TDE) Support - Allows data blocks to be encrypted-at-rest.</li>
<li>Kerberos support for Ozone.</li>
<li>Certificate Infrastructure for Ozone  - Tokens use PKI instead of shared secrets.</li>
<li>Datanode to Datanode communication secured via mutual TLS.</li>
<li>Ability secure ozone cluster that works with Yarn, Hive, and Spark.</li>
<li>Helm/Skaffold support to deploy Ozone clusters on K8s.</li>
<li>Support S3 Authentication Mechanisms like - S3 v4 Authentication protocol.</li>
<li>S3 Gateway supports Multipart upload.</li>
<li>S3A file system is tested and supported.</li>
<li>Support for Tracing and Profiling for all Ozone components.</li>
<li>Audit Support - including Audit Parser tools.</li>
<li>Apache Ranger Support in Ozone.</li>
</ul>
<p>This is an alpha release and not production ready.</p>
<!-- raw HTML omitted -->

</div>
<div class="col-md-4" style="padding: 20px;">
    
       <p>
           <a href="https://www.apache.org/dyn/closer.cgi/hadoop/ozone/ozone-0.4.0-alpha/hadoop-ozone-0.4.0-alpha.tar.gz"
              class="btn btn-success">Download tar.gz</a></p>
       <p>
           (<a href="https://dist.apache.org/repos/dist/release/hadoop/ozone/ozone-0.4.0-alpha/hadoop-ozone-0.4.0-alpha.tar.gz.mds">checksum</a>
           <a href="https://dist.apache.org/repos/dist/release/hadoop/ozone/ozone-0.4.0-alpha/hadoop-ozone-0.4.0-alpha.tar.gz.asc">signature</a>)
       </p>
       <p>
           <a href="https://www.apache.org/dyn/closer.cgi/hadoop/ozone/ozone-0.4.0-alpha/hadoop-ozone-0.4.0-alpha-src.tar.gz"
              class="btn btn-warning">Download src</a></p>
       <p>
           (<a href="https://dist.apache.org/repos/dist/release/hadoop/ozone/ozone-0.4.0-alpha/hadoop-ozone-0.4.0-alpha-src.tar.gz.mds">checksum</a>
           <a href="https://dist.apache.org/repos/dist/release/hadoop/ozone/ozone-0.4.0-alpha/hadoop-ozone-0.4.0-alpha-src.tar.gz.asc">signature</a>)
       </p>
       <p><a href="https://hadoop.apache.org/ozone/docs/0.4.0-alpha" class="btn btn-primary">Documentation</a>
       </p>
    
    <p><small>2019 May 7 </small></p>

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

<footer>
    <div class="container">

        <div class="col-md-12 trademark">
            <p>&copy; 2021 <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>

