
<!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 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="container">
<h1>Frequently Asked Questions</h1>
<h3 id="what-is-ozone">What is Ozone?</h3>
<p>Ozone is an object store designed for big data applications. Big data workloads tend to be very different from standard workloads and Ozone is born out of lessons learned from running Hadoop in thousands of clusters.</p>
<h3 id="why-an-object-store">Why an Object Store?</h3>
<p>Object stores are more straightforward to build and use than standard file systems. It is also easier to scale an object store.  The fact that most big data applications and frameworks like Apache Spark, YARN and Hive can run both on cloud and on-prem, makes having an object store on-prem very attractive.</p>
<h3 id="can-i-use-ozone-in-the-cloud">Can I use Ozone in the cloud?</h3>
<p>While the technical answer is Yes, there is always a question of why you are not happy with the file system provided by the cloud vendor. It is often cheaper to run against the cloud vendor&rsquo;s base object store.</p>
<h3 id="is-there-a-cloud-where-i-can-use-ozone-as-the-object-store">Is there a cloud where I can use Ozone as the object store?</h3>
<p>Not that we know.  Ozone is an Apache-licensed open source product; Nothing prevents someone from offering Ozone as a product in the cloud.</p>
<h3 id="i-have-an-apache-spark-application-how-do-i-use-it-with-ozone">I have an Apache Spark Application. How do I use it with Ozone?</h3>
<p>You have a Spark based application and you want it to work with Ozone. If your current storage system is HDFS, then you are passing the location of data to your application by using an URL that begins with hdfs://. If you replace hdfs:// with 03fs:// Spark application will start using data from an Ozone bucket.</p>
<h3 id="i-have-an-application-that-is-reading-and-writing-to-s3-buckets-how-do-i-use-it-with-ozone">I have an application that is reading and writing to S3 buckets. How do I use it with Ozone?</h3>
<p>Ozone supports S3 protocol as a first-class interface. So you can take an existing S3 based application and change the S3 server address. That is it.</p>
<h3 id="you-said-i-could-change-the-s3-server-address-but-i-need-to-put-the-access-key-id-and-secret-access-key-into-my-aws-file-where-do-i-find-it">You said I could change the S3 server address, but I need to put the access key id and secret access key into my .aws file; where do I find it?</h3>
<p>If you have a secure Ozone cluster, please login by running &ldquo;kinit&rdquo; and please ask for ozone aws credentials by running &ldquo;ozone s3 getsecret&rdquo;.  This command will present your Kerberos credentials to Ozone manager, and Ozone manager will return both access key id and secret access key that you can put into your .aws file. If the security is not turned on, you can put anything in these fields as  security will not be enforced on the server side.</p>
<h3 id="you-said-kerberos-but-that-is-not-how-s3-security-works-so">You said Kerberos, but that is not how S3 security works. So?</h3>
<p>Thank you for pointing that out. Your S3 credentials are created using your Kerberos identity. From the administrator&rsquo;s point of view, this allows us to have a centralized identity and policy management for Ozone. Ozone supports the AWS Signature Version 4 protocol, so from the user&rsquo;s point of view it just works.</p>
<h3 id="okay-i-am-convinced-i-would-like-to-try-out-ozone-how-do-i-get-started">Okay, I am convinced I would like to try out Ozone. How do I get started?</h3>
<p>Please take a look at the getting started document. For the impatient, we have docker containers, which allows you to start a fully functional cluster on your machine to explore and see if Ozone works for you.</p>
<p>There are instructions on how to start Ozone on conventional machines or VMs if you would like to go that way.</p>
<p>You can <a href="/ozone/downloads/">download</a> it and <a href="/ozone/docs/0.3.0-alpha/runningviadocker.html">try it out.</a></p>
<h3 id="you-said-k8s-in-the-first-page-how-do-i-deploy-ozone-on-k8s">You said K8s in the first page, How do I deploy Ozone on K8s?</h3>
<p>Please look at the getting started with K8s page. Ozone fully supports deployments to a K8s cluster.</p>
<h3 id="i-have-an-existing-apache-hadoop-cluster-and-i-run-things-like-hdfs-and-yarn-how-do-i-use-ozone">I have an existing Apache Hadoop cluster, and I run things like HDFS and YARN. How do I use Ozone?</h3>
<p>Ozone is designed to run concurrently with HDFS and YARN in a normal Hadoop Cluster. So you can upgrade to the latest Hadoop, untar Ozone bits in the same cluster and have Ozone working concurrently. Please see the getting started with HDFS to get more information.</p>
<h3 id="how-does-ozone-scale-and-how-it-is-different-from-hdfs">How does Ozone scale and how it is different from HDFS?</h3>
<p>Ozone has done some things differently from HDFS. First and foremost, Ozone took an ancient idea that was floating around in the HDFS community and created separate services to do different operations. So Ozone has a namespace server, block management server and a management console. Pretty much all of these are ideas borrowed from HDFS.</p>
<h3 id="does-it-mean-a-new-hadoop-server-component">Does it mean a new Hadoop server component?</h3>
<p>Both Ozone and HDDS requires one additional master component - Ozone Manager and Storage Container Manager, respectively.
The worker parts of Ozone/HDDS can be started as an HDFS Datanode plugin or as standalone.</p>
<h3 id="this-sounds-very-interesting-how-can-i-contribute-i-have-never-contributed-to-open-sourcei-am-a-novicei-dont-know-how-to-contributei-am-intimidated-what-can-i-do">This sounds very interesting. How can I contribute? I have never contributed to Open source/I am a novice/I don&rsquo;t know how to contribute/I am intimidated, what can I do?</h3>
<p>As Lao Tzu said, &ldquo;The journey of a thousand miles begins with one step.&rdquo; You might have never worked on Distributed systems, but you will always be able to help out on Ozone. If you speak a foreign language like Chinese, you can help us out by translating documentation to Chinese. If you are a high school student and starting to learn Java, you are most welcome to come and pick up work items that fit your skill and schedule. If you know HTML, please feel free to work our websites and Ozone UI. If you are graphics artist and feel that Ozone can be improved, please let us know.</p>
<p>Ask us, please don&rsquo;t feel shy. We are an open and welcoming community. Feel free to open a JIRA under HDDS if you know how. The easiest thing is to send us an email in any discussion channel. Someone will always be there to help you out.</p>
<p>You are also welcome to join our weekly community call, and just talk to us. There are several ways to start contributing to Ozone.</p>
<p>The contribution process is the same as for any other Hadoop subproject. The Ozone Contribution Guidelines is available from the <a href="https://cwiki.apache.org/confluence/display/HADOOP/Ozone+Contributor+Guide">wiki</a>.</p>

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

