

<!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="#navbar" 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" href="#">Apache Hadoop Ozone/HDDS documentation</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">
  <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="active">
                        <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="">
                        <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>
        
    
  </ul>

</div>

        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
            <h1>Volume Commands</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>Volume commands generally need administrator privileges. The ozone shell supports the following volume commands.</p>

<ul>
<li><a href="#create">create</a></li>
<li><a href="#delete">delete</a></li>
<li><a href="#info">info</a></li>
<li><a href="#list">list</a></li>
<li><a href="#update">update</a></li>
</ul>

<h3 id="create">Create</h3>

<p>The volume create command allows an administrator to create a volume and
assign it to a user.</p>

<p><strong><em>Params:</em></strong></p>

<table>
<thead>
<tr>
<th>Arguments</th>
<th>Comment</th>
</tr>
</thead>

<tbody>
<tr>
<td>-q, &ndash;quota</td>
<td>Optional, This argument that specifies the maximum size this volume can use in the Ozone cluster.</td>
</tr>

<tr>
<td>-u, &ndash;user</td>
<td>Required, The name of the user who owns this volume. This user can create, buckets and keys on this volume.</td>
</tr>

<tr>
<td>Uri</td>
<td>The name of the volume.</td>
</tr>
</tbody>
</table>

<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 sh volume create --quota<span style="color:#f92672">=</span>1TB --user<span style="color:#f92672">=</span>bilbo /hive</code></pre></div>

<p>The above command will create a volume called <em>hive</em> on the ozone cluster. This
volume has a quota of 1TB, and the owner is <em>bilbo</em>.</p>

<h3 id="delete">Delete</h3>

<p>The volume delete commands allows an administrator to delete a volume. If the
volume is not empty then this command will fail.</p>

<p><strong><em>Params:</em></strong></p>

<table>
<thead>
<tr>
<th>Arguments</th>
<th>Comment</th>
</tr>
</thead>

<tbody>
<tr>
<td>Uri</td>
<td>The name of the volume.</td>
</tr>
</tbody>
</table>

<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 sh volume delete /hive</code></pre></div>

<p>The above command will delete the volume hive, if the volume has no buckets
inside it.</p>

<h3 id="info">Info</h3>

<p>The volume info commands returns the information about the volume including
quota and owner information.
<strong><em>Params:</em></strong></p>

<table>
<thead>
<tr>
<th>Arguments</th>
<th>Comment</th>
</tr>
</thead>

<tbody>
<tr>
<td>Uri</td>
<td>The name of the volume.</td>
</tr>
</tbody>
</table>

<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 sh volume info /hive</code></pre></div>

<p>The above command will print out the information about hive volume.</p>

<h3 id="list">List</h3>

<p>The volume list command will list the volumes owned by a user.</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 sh volume list --user hadoop</code></pre></div>

<p>The above command will print out all the volumes owned by the user hadoop.</p>

<h3 id="update">Update</h3>

<p>The volume update command allows changing of owner and quota on a given volume.</p>

<p><strong><em>Params:</em></strong></p>

<table>
<thead>
<tr>
<th>Arguments</th>
<th>Comment</th>
</tr>
</thead>

<tbody>
<tr>
<td>-q, &ndash;quota</td>
<td>Optional, This argument that specifies the maximum size this volume can use in the Ozone cluster.</td>
</tr>

<tr>
<td>-u, &ndash;user</td>
<td>Optional, The name of the user who owns this volume. This user can create, buckets and keys on this volume.</td>
</tr>

<tr>
<td>Uri</td>
<td>The name of the volume.</td>
</tr>
</tbody>
</table>

<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 sh volume update --quota<span style="color:#f92672">=</span>10TB /hive</code></pre></div>

<p>The above command updates the volume quota to 10TB.</p>

<p>You can try out these commands from the docker instance of the <a href="runningviadocker.html">Alpha
Cluster</a>.</p>

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