<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Apache Ozone</title>
    <link>https://ozone.apache.org/</link>
    <description>Recent content on Apache Ozone</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>© {year} The Apache Software Foundation</copyright>
    <lastBuildDate>Fri, 19 Jan 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://ozone.apache.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Release 1.4.0 available</title>
      <link>https://ozone.apache.org/release/1.4.0/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/1.4.0/</guid>
      <description>Apache Ozone 1.4.0 is released with following features:
 Snapshots Erasure Coding V2: offline reconstruction, container balancer support Recon: heat maps, more diagnose info Certificate auto-rotation SCM decommissioning Improved OM decommissioning Symmetric key-based block/container token implementation Quota on FSO bucket  This is a generally available (GA) release. It represents a point of API stability and quality that we consider production-ready.
Image credit: Hot Springs Mountain Tower by Jeremy Thompson, CC BY 2.</description>
    </item>
    
    <item>
      <title>Release 1.3.0 available</title>
      <link>https://ozone.apache.org/release/1.3.0/</link>
      <pubDate>Sun, 18 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/1.3.0/</guid>
      <description>Apache Ozone 1.3.0 is released with following features:
 Erasure Coding - V1 support (Online reconstruction support) Container balancer Limit number of rocksdb instances to 1 per disk on high-density datanodes Ozone S3 Multi-tenancy Support S3 Grpc improvements for metadata path Filesystem Optimized and Object Store bucket layout types  This is a generally available (GA) release. It represents a point of API stability and quality that we consider production-ready.</description>
    </item>
    
    <item>
      <title>Release 1.2.1 available</title>
      <link>https://ozone.apache.org/release/1.2.1/</link>
      <pubDate>Wed, 22 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/1.2.1/</guid>
      <description>Apache Ozone 1.2.1 is released with following features:
 Non-rolling downgrade support to 1.1.0 Storage Container Manager high availability for new clusters Filesystem prefix optimization for new clusters Transparent data encryption for S3 buckets Security enhancements  This is a generally available (GA) release. It represents a point of API stability and quality that we consider production-ready.
Image credit: Glacier National Park 8 by Tony Hisgett, CC BY 2.0 / Text added to original</description>
    </item>
    
    <item>
      <title>Release 1.1.0 available</title>
      <link>https://ozone.apache.org/release/1.1.0/</link>
      <pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/1.1.0/</guid>
      <description>Apache Hadoop Ozone 1.1.0 is released with following features:
 Volume/Bucket Quota Support Security related enhancements ofs/o3fs performance improvements with Teragen and Spark Recon improvements  This is a generally available (GA) release. It represents a point of API stability and quality that we consider production-ready.
Image credit: diana_robinson , CC BY-NC-ND 2.0</description>
    </item>
    
    <item>
      <title>Release 1.0.0 available</title>
      <link>https://ozone.apache.org/release/1.0.0/</link>
      <pubDate>Wed, 02 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/1.0.0/</guid>
      <description>Apache Hadoop Ozone 1.0.0 is released with following features:
 OM HA - HA support for Ozone Manager Security Phase II Support Hadoop 2.7 &amp;amp; security enabled Hadoop 2.x Ozone OFS new Filesystem scheme Ozone Filesystem performance improvement Recon &amp;amp; Recon UI improvements Bucket link &amp;amp; S3 volume/bucket mapping changes  This is a generally available (GA) release. It represents a point of API stability and quality that we consider production-ready.</description>
    </item>
    
    <item>
      <title>Release 0.5.0-beta available</title>
      <link>https://ozone.apache.org/release/0.5.0-beta/</link>
      <pubDate>Tue, 24 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/0.5.0-beta/</guid>
      <description>Apache Hadoop Ozone 0.5.0-beta is released with following features:
 O3FS - S3A based file system semantics Able to handle 1 billion objects Network topology awareness for block placement GDPR Right to Erasure  This is a beta release and not production ready.</description>
    </item>
    
    <item>
      <title>Release 0.4.1-alpha available</title>
      <link>https://ozone.apache.org/release/0.4.1-alpha/</link>
      <pubDate>Sun, 13 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/0.4.1-alpha/</guid>
      <description>Apache Hadoop Ozone 0.4.1-alpha is released with following features:
 Ozone Native ACL support First class K8s support Stability improvements  This is an alpha release and not production ready.</description>
    </item>
    
    <item>
      <title>Release 0.4.0-alpha available</title>
      <link>https://ozone.apache.org/release/0.4.0-alpha/</link>
      <pubDate>Tue, 07 May 2019 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/0.4.0-alpha/</guid>
      <description>Apache Hadoop Ozone 0.4.0-alpha is released with following features:
 Hadoop Delegation Tokens and Block Tokens supported for Ozone. Transparent Data Encryption (TDE) Support - Allows data blocks to be encrypted-at-rest. Kerberos support for Ozone. Certificate Infrastructure for Ozone - Tokens use PKI instead of shared secrets. Datanode to Datanode communication secured via mutual TLS. Ability secure ozone cluster that works with Yarn, Hive, and Spark. Helm/Skaffold support to deploy Ozone clusters on K8s.</description>
    </item>
    
    <item>
      <title>Release 0.3.0-alpha available</title>
      <link>https://ozone.apache.org/release/0.3.0-alpha/</link>
      <pubDate>Thu, 22 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/0.3.0-alpha/</guid>
      <description>Apache Hadoop Ozone 0.3.0-alpha is released.
 A new S3 compatible rest server is added. Ozone can be used from any S3 compatible tools (docs, HDDS-434) Ozone Hadoop file system URL prefix is renamed from o3:// to o3fs:// (HDDS-651) Extensive testing and stability improvements of OzoneFs. Spark, YARN and Hive support and stability improvements. Improved Pipeline handling and recovery. Separated/dedicated classpath definitions for all the Ozone components. (HDDS-447)  This is an alpha release.</description>
    </item>
    
    <item>
      <title>Release 0.2.1-alpha available</title>
      <link>https://ozone.apache.org/release/0.2.1-alpha/</link>
      <pubDate>Mon, 01 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/release/0.2.1-alpha/</guid>
      <description>This is the first version of Apache Hadoop Ozone. Ozone is an Object store for Hadoop built using Hadoop Distributed Data Store.
This release is fully functional, but alpha quality.</description>
    </item>
    
    <item>
      <title>Apache Ozone Releases</title>
      <link>https://ozone.apache.org/downloads/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/downloads/</guid>
      <description>To verify Apache Ozone releases using GPG:  Download the release ozone-X.Y.Z-src.tar.gz from a mirror site. Download the signature file ozone-X.Y.Z-src.tar.gz.asc from Apache. Download the Ozone KEYS file. gpg --import KEYS gpg --verify ozone-X.Y.Z-src.tar.gz.asc ozone-X.Y.Z-src.tar.gz  To perform a quick check using SHA-512:  Download the release ozone-X.Y.Z-src.tar.gz from a mirror site. Download the checksum ozone-X.Y.Z-src.tar.gz.sha512 from Apache. sha512sum -c ozone-X.Y.Z-src.tar.gz  Note: Before 1.1.0 release Ozone was part of the Apache Hadoop project.</description>
    </item>
    
    <item>
      <title>Documentation</title>
      <link>https://ozone.apache.org/docs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/docs/</guid>
      <description>Documentation is also part of the binary release packages and available online from the running Storage Container Manager or Ozone Manager webui.</description>
    </item>
    
    <item>
      <title>Frequently Asked Questions</title>
      <link>https://ozone.apache.org/faq/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/faq/</guid>
      <description>What is Ozone? 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.
Why an Object Store? 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.</description>
    </item>
    
    <item>
      <title>Ozone Community</title>
      <link>https://ozone.apache.org/community/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/community/</guid>
      <description>Ozone Mailing Lists Developers If you’d like to contribute to Ozone, please subscribe to the Ozone developer mailing list.
The Ozone developer mailing list is: dev@ozone.apache.org.
 Subscribe to List Unsubscribe from List Archives  Commits If you’d like to see changes made in the Ozone version control system, please subscribe to the Ozone commits mailing list.
The Ozone commits mailing list is: commits@ozone.apache.org.
 Subscribe to List Unsubscribe from List Archives  Issues If you’d like to see changes made in the Ozone issue tracking system, please subscribe to the Ozone issues mailing list.</description>
    </item>
    
    <item>
      <title>Ozone Events</title>
      <link>https://ozone.apache.org/events/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ozone.apache.org/events/</guid>
      <description>Past Meetups The first ever Apache Ozone User Group Summit was held at Cloudera&amp;rsquo;s headquarter on Nov 10, 2022. This event was live streamed on LinkedIn and on YouTube. Meetup link YouTube recording Slide deck
The following was the list of agenda:
 Opening, Karthik Krishnamoorthy Recording Apache Ozone - Scalable, redundant distributed object store Recording Bucket types and FSO improvements, Ethan Rose Recording Apache Ozone snapshots - new design, Prashant Pogde, Siyao Meng Recording Apache Ozone Performance, Ritesh Shukla, Recording    Past Conference Talks 2022  ApacheCon North America 2022: Reduce Your Storage Footprint with Apache Ozone Erasure Coding.</description>
    </item>
    
  </channel>
</rss>
