<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ozone Overview on Ozone</title>
    <link>/</link>
    <description>Recent content in Ozone Overview on Ozone</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 14 Sep 2017 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Alpha Cluster</title>
      <link>/runningviadocker.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/runningviadocker.html</guid>
      <description>This is an alpha release of Ozone. Please don&amp;rsquo;t use this release in production. Please check the road map page for features under development.
The easiest way to run ozone is to download the release tarball and launch ozone via Docker. Docker will create a small ozone cluster on your machine, including the data nodes and ozone services.
Running Ozone via Docker This assumes that you have Docker installed on the machine.</description>
    </item>
    
    <item>
      <title>Building from Sources</title>
      <link>/buildingsources.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/buildingsources.html</guid>
      <description>This is a guide on how to build the ozone sources. If you are not planning to build sources yourself, you can safely skip this page.
If you are a Hadoop ninja, and wise in the ways of Apache, you already know that a real Apache release is a source release.
If you want to build from sources, Please untar the source tarball and run the ozone build command. This instruction assumes that you have all the dependencies to build Hadoop on your build machine.</description>
    </item>
    
    <item>
      <title>Configuration</title>
      <link>/settings.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/settings.html</guid>
      <description>If you are feeling adventurous, you can setup ozone in a real cluster. Setting up a real cluster requires us to understand the components of Ozone. Ozone is designed to work concurrently with HDFS. However, Ozone is also capable of running independently. The components of ozone are the same in both approaches.
Ozone Components  Ozone Manager - Is the server that is in charge of the namespace of Ozone.</description>
    </item>
    
    <item>
      <title>Running concurrently with HDFS</title>
      <link>/runningwithhdfs.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/runningwithhdfs.html</guid>
      <description>Ozone is designed to work with HDFS. So it is easy to deploy ozone in an existing HDFS cluster.
Ozone does not support security today. It is a work in progress and tracked in HDDS-4. If you enable ozone in a secure HDFS cluster, for your own protection Ozone will refuse to work.
In other words, till Ozone security work is done, Ozone will not work in any secure clusters.</description>
    </item>
    
    <item>
      <title>Starting an Ozone Cluster</title>
      <link>/realcluster.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/realcluster.html</guid>
      <description>Before we boot up the Ozone cluster, we need to initialize both SCM and Ozone Manager.
ozone scm -init This allows SCM to create the cluster Identity and initialize its state. The init command is similar to Namenode format. Init command is executed only once, that allows SCM to create all the required on-disk structures to work correctly. ozone --daemon start scm
Once we know SCM is up and running, we can create an Object Store for our use.</description>
    </item>
    
    <item>
      <title>Hadoop Distributed Data Store</title>
      <link>/hdds.html</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>/hdds.html</guid>
      <description>SCM Overview Storage Container Manager or SCM is a very important component of ozone. SCM offers block and container-based services to Ozone Manager. A container is a collection of unrelated blocks under ozone. SCM and data nodes work together to maintain the replication levels needed by the cluster.
It is easier to look at a putKey operation to understand the role that SCM plays.
To put a key, a client makes a call to KSM with the following arguments.</description>
    </item>
    
    <item>
      <title>Ozone Manager</title>
      <link>/ozonemanager.html</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>/ozonemanager.html</guid>
      <description>OM Overview Ozone Manager or OM is the namespace manager for Ozone. The clients (RPC clients, Rest proxy, Ozone file system, etc.) communicate with OM to create and delete various ozone objects.
Each ozone volume is the root of a namespace under OM. This is very different from HDFS which provides a single rooted file system.
Ozone&amp;rsquo;s namespace is a collection of volumes or is a forest instead of a single rooted tree as in HDFS.</description>
    </item>
    
    <item>
      <title>Architecture</title>
      <link>/concepts.html</link>
      <pubDate>Tue, 10 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>/concepts.html</guid>
      <description>Ozone is a redundant, distributed object store build by leveraging primitives present in HDFS. The primary design point of ozone is scalability, and it aims to scale to billions of objects.
Ozone consists of volumes, buckets, and keys. A volume is similar to a home directory in the ozone world. Only an administrator can create it. Volumes are used to store buckets. Once a volume is created users can create as many buckets as needed.</description>
    </item>
    
    <item>
      <title>Java API</title>
      <link>/javaapi.html</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>/javaapi.html</guid>
      <description>Introduction Ozone ships with it own client library, that supports both RPC(Remote Procedure call) and REST(Representational State Transfer). This library is the primary user interface to ozone.
It is trivial to switch from RPC to REST or vice versa, by setting the property ozone.client.protocol in the configuration or by calling the appropriate factory method.
Creating an Ozone client The Ozone client factory creates the ozone client. It allows the user to specify the protocol of communication.</description>
    </item>
    
    <item>
      <title>Ozone File System</title>
      <link>/ozonefs.html</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>/ozonefs.html</guid>
      <description>There are many Hadoop compatible files systems under Hadoop. Hadoop compatible file systems ensures that storage backends like Ozone can easily be integrated into Hadoop eco-system.
Setting up the Ozone file system To create an ozone file system, we have to choose a bucket where the file system would live. This bucket will be used as the backend store for OzoneFileSystem. All the files and directories will be stored as keys in this bucket.</description>
    </item>
    
    <item>
      <title>Freon</title>
      <link>/freon.html</link>
      <pubDate>Sat, 02 Sep 2017 23:58:17 -0700</pubDate>
      
      <guid>/freon.html</guid>
      <description>Overview Freon is a load-generator for Ozone. This tool is used for testing the functionality of ozone.
Random keys In randomkeys mode, the data written into ozone cluster is randomly generated. Each key will be of size 10 KB.
The number of volumes/buckets/keys can be configured. The replication type and factor (eg. replicate with ratis to 3 nodes) Also can be configured.
For more information use
bin/ozone freon --help</description>
    </item>
    
    <item>
      <title>Dozone &amp; Dev Tools</title>
      <link>/dozone.html</link>
      <pubDate>Thu, 10 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>/dozone.html</guid>
      <description>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.
In the compose/ozone directory there are two files that define the docker and ozone settings.
Developers can
cd compose/ozone and simply run
docker-compose up -d to run a ozone cluster on docker.
This command will launch a Namenode, OM, SCM and a data node.</description>
    </item>
    
    <item>
      <title>SCMCLI</title>
      <link>/scmcli.html</link>
      <pubDate>Thu, 10 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>/scmcli.html</guid>
      <description>SCM is the block service for Ozone. It is also the workhorse for ozone. But user process never talks to SCM. However, being able to read the state of SCM is useful.
SCMCLI allows the developer to access SCM directly. Please note: Improper usage of this tool can destroy your cluster. Unless you know exactly what you are doing, Please do not use this tool. In other words, this is a developer only tool.</description>
    </item>
    
    <item>
      <title>Bucket Commands</title>
      <link>/bucketcommands.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/bucketcommands.html</guid>
      <description>Ozone shell supports the following bucket commands.
 create delete info list update  Create The bucket create command allows a user to create a bucket.
Params:
   Arguments Comment     Uri The name of the bucket in /volume/bucket format.    ozone sh bucket create /hive/jan The above command will create a bucket called jan in the hive volume. Since no scheme was specified this command defaults to O3 (RPC) protocol.</description>
    </item>
    
    <item>
      <title>Key Commands</title>
      <link>/keycommands.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/keycommands.html</guid>
      <description>Ozone shell supports the following key commands.
 get put delete info list  Get The key get command downloads a key from Ozone cluster to local file system.
Params:
   Arguments Comment     Uri The name of the key in /volume/bucket/key format.   FileName Local file to download the key to.    ozone sh key get /hive/jan/sales.orc sales.orc Downloads the file sales.</description>
    </item>
    
    <item>
      <title>Ozone CLI</title>
      <link>/commandshell.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/commandshell.html</guid>
      <description>Ozone has a set of command line tools that can be used to manage ozone.
All these commands are invoked via the ozone script.
The commands supported by ozone are:
 classpath - Prints the class path needed to get the hadoop jar and the required libraries. fs - Runs a command on ozone file system. datanode - Via daemon command, the HDDS data nodes can be started or stopped.</description>
    </item>
    
    <item>
      <title>REST API</title>
      <link>/rest.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/rest.html</guid>
      <description>The Ozone REST API&amp;rsquo;s allows user to access ozone via REST protocol.
Authentication and Authorization For time being, The default authentication mode of REST API is insecure access mode, which is Simple mode. Under this mode, ozone server trusts the user name specified by client and it does not perform any authentication.
User name can be specified in HTTP header by
 x-ozone-user: {USER_NAME}  for example if add following header x-ozone-user: bilbo in the HTTP request, then operation will be executed as bilbo user.</description>
    </item>
    
    <item>
      <title>Volume Commands</title>
      <link>/volumecommands.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/volumecommands.html</guid>
      <description>Volume commands generally need administrator privileges. The ozone shell supports the following volume commands.
 create delete info list update  Create The volume create command allows an administrator to create a volume and assign it to a user.
Params:
   Arguments Comment     -q, &amp;ndash;quota Optional, This argument that specifies the maximum size this volume can use in the Ozone cluster.   -u, &amp;ndash;user Required, The name of the user who owns this volume.</description>
    </item>
    
  </channel>
</rss>