

<!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="./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">Ozone CLI</a>
                        </li>
                    
                        <li class="">
                        <a href="./s3.html">S3</a>
                        </li>
                    
                        <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>
                    
                        <li class="">
                        <a href="./javaapi.html">Java API</a>
                        </li>
                    
                        <li class="">
                        <a href="./ozonefs.html">Ozone File System</a>
                        </li>
                    
                        <li class="">
                        <a href="./rest.html">REST API</a>
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="dozone.html">
                    
                    <span>Tools</span>
                </a>
                <ul class="nav">
                    
                        <li class="active">
                        <a href="./dozone.html">Dozone &amp; Dev Tools</a>
                        </li>
                    
                        <li class="">
                        <a href="./freon.html">Freon</a>
                        </li>
                    
                        <li class="">
                        <a href="./scmcli.html">SCMCLI</a>
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <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>
                    
                </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>Dozone &amp; Dev Tools</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>Dozone stands for docker for ozone. Ozone supports docker to make it easy to develop and test ozone.  Starting a docker based ozone container is simple.</p>

<p>In the <code>compose/ozone</code> directory there are two files that define the docker and ozone settings.</p>

<p>Developers can</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">cd compose/ozone</code></pre></div>

<p>and simply run</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose up -d</code></pre></div>

<p>to run a ozone cluster on docker.</p>

<p>This command will launch a Namenode, OM, SCM and a data node.</p>

<p>To access the OM UI, one can run &lsquo;<a href="http://localhost:9874'">http://localhost:9874'</a>.</p>

<p><em>Please note</em>: dozone does not map the data node ports to the 9864. Instead, it maps to the ephemeral port range. So many examples in the command shell will not work if you run those commands from the host machine. To find out where the data node port is listening, you can run the <code>docker ps</code> command or always ssh into a container before running ozone commands.</p>

<p>To shutdown a running docker based ozone cluster, please run</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose down</code></pre></div>

<h2 id="adding-more-config-settings">Adding more config settings</h2>

<p>The file called <code>docker-config</code> contains all ozone specific config settings. This file is processed to create the ozone-site.xml.</p>

<h2 id="useful-docker-ozone-commands">Useful Docker &amp; Ozone Commands</h2>

<p>If you make any modifications to ozone, the simplest way to test it is to run freon and unit tests.</p>

<p>Here are the instructions to run freon in a docker based cluster.</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose exec datanode bash</code></pre></div>

<p>This will open a bash shell on the data node container.
Now we can execute freon for load generation.</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">ozone freon randomkeys --numOfVolumes<span style="color:#f92672">=</span><span style="color:#ae81ff">10</span> --numOfBuckets <span style="color:#ae81ff">10</span> --numOfKeys <span style="color:#ae81ff">10</span></code></pre></div>

<p>Here is a set  helpful commands while working with docker for ozone.
To check the status of the components:</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose ps</code></pre></div>

<p>To get logs from a specific node/service:</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose logs scm</code></pre></div>

<p>As the WebUI ports are forwarded to the external machine, you can check the web UI:</p>

<ul>
<li>For the Storage Container Manager: <a href="http://localhost:9876">http://localhost:9876</a></li>
<li>For the Ozone Managerr: <a href="http://localhost:9874">http://localhost:9874</a></li>
<li>For the Datanode: check the port with docker ps (as there could be multiple data node ports are mapped to the ephemeral port range)</li>
<li>For the Namenode: <a href="http://localhost:9870">http://localhost:9870</a></li>
</ul>

<p>You can start multiple data nodes with:</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose scale datanode<span style="color:#f92672">=</span><span style="color:#ae81ff">3</span></code></pre></div>

<p>You can test the commands from the <a href="./commandshell.html#shell">Ozone CLI</a> after opening a new bash shell in one of the containers:</p>

<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">docker-compose exec datanode bash</code></pre></div>

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