<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Apache Hadoop</title>
    <link>https://hadoop.apache.org/</link>
    <description>Recent content on Apache Hadoop</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>Copyright © 2006-{year} The Apache Software Foundation</copyright>
    <lastBuildDate>Tue, 15 Jun 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://hadoop.apache.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Release 3.3.1 available</title>
      <link>https://hadoop.apache.org/release/3.3.1.html</link>
      <pubDate>Tue, 15 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.3.1.html</guid>
      <description>This is the first stable release of Apache Hadoop 3.3.x line. It contains 697 bug fixes, improvements and enhancements since 3.3.0.
Users are encouraged to read the overview of major changes since 3.3.0. For details of 697 bug fixes, improvements, and other enhancements since the previous 3.3.0 release, please check release notes and changelog detail the changes since 3.3.0.</description>
    </item>
    
    <item>
      <title>Ozone 1.1.0 is released</title>
      <link>https://hadoop.apache.org/news/2021-04-17-ozone-1.1.0.html</link>
      <pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2021-04-17-ozone-1.1.0.html</guid>
      <description>General available(GA) release of Apache Hadoop Ozone with Volume/Bucket Quota Support, Security related enhancements, ofs/o3fs performance improvements, Recon improvements etc.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 3.2.2 available</title>
      <link>https://hadoop.apache.org/release/3.2.2.html</link>
      <pubDate>Sat, 09 Jan 2021 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.2.2.html</guid>
      <description>This is the second stable release of Apache Hadoop 3.2 line. It contains 516 bug fixes, improvements and enhancements since 3.2.1.
Users are encouraged to read the overview of major changes since 3.2.1. For details of 516 bug fixes, improvements, and other enhancements since the previous 3.2.1 release, please check release notes and changelog detail the changes since 3.2.1.</description>
    </item>
    
    <item>
      <title>Release 2.10.1 available</title>
      <link>https://hadoop.apache.org/release/2.10.1.html</link>
      <pubDate>Mon, 21 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.10.1.html</guid>
      <description>This is the second stable release of Apache Hadoop 2.10 line. It contains 218 bug fixes, improvements and enhancements since 2.10.0.
Users are encouraged to read the overview of major changes since 2.10.0. For details of 218 bug fixes, improvements, and other enhancements since the previous 2.10.0 release, please check release notes and changelog detail the changes since 2.10.0.</description>
    </item>
    
    <item>
      <title>Ozone 1.0.0 is released</title>
      <link>https://hadoop.apache.org/news/2020-09-02-ozone-1.0.0.html</link>
      <pubDate>Wed, 02 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2020-09-02-ozone-1.0.0.html</guid>
      <description>First general available(GA) release of Apache Hadoop Ozone with OM HA, OFS, Security phase II, Ozone Filesystem performance improvement, security enabled Hadoop 2.x support, bucket link, Recon / Recon UI improvment, etc.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 3.1.4 available</title>
      <link>https://hadoop.apache.org/release/3.1.4.html</link>
      <pubDate>Mon, 03 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.1.4.html</guid>
      <description>This is the second stable release of Apache Hadoop 3.1 line. It contains 308 bug fixes, improvements and enhancements since 3.1.3.
Users are encouraged to read the overview of major changes since 3.1.3. For details of 308 bug fixes, improvements, and other enhancements since the previous 3.1.3 release, please check release notes and changelog.</description>
    </item>
    
    <item>
      <title>Release 3.3.0 available</title>
      <link>https://hadoop.apache.org/release/3.3.0.html</link>
      <pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.3.0.html</guid>
      <description>This is the first release of Apache Hadoop 3.3 line. It contains 2148 bug fixes, improvements and enhancements since 3.2.
Users are encouraged to read the overview of major changes. For details of please check release notes and changelog.</description>
    </item>
    
    <item>
      <title>Ozone 0.5.0-beta is released</title>
      <link>https://hadoop.apache.org/news/2020-03-24-ozone-0.5.0-beta.html</link>
      <pubDate>Tue, 24 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2020-03-24-ozone-0.5.0-beta.html</guid>
      <description>First beta release of Apache Hadoop Ozone with GDPR Right to Erasure, Network Topology Awareness, O3FS, and improved scalability/stability.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 2.10.0 available</title>
      <link>https://hadoop.apache.org/release/2.10.0.html</link>
      <pubDate>Tue, 29 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.10.0.html</guid>
      <description>This is the first stable release of Apache Hadoop 2.10 line. It contains 362 bug fixes, improvements and enhancements since 2.9.0.
Users are encouraged to read the overview of major changes since 2.9.0. For details of 362 bug fixes, improvements, and other enhancements since the previous 2.9.0 release, please check release notes and changelog detail the changes since 2.9.0.</description>
    </item>
    
    <item>
      <title>Release 3.1.3 available</title>
      <link>https://hadoop.apache.org/release/3.1.3.html</link>
      <pubDate>Mon, 21 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.1.3.html</guid>
      <description>This is the third stable release of Apache Hadoop 3.1 line. It contains 246 bug fixes, improvements and enhancements since 3.1.2.
Users are encouraged to read the overview of major changes since 3.1.2. For details of the bug fixes, improvements, and other enhancements since the previous 3.1.2 release, please check release notes and changelog</description>
    </item>
    
    <item>
      <title>Ozone 0.4.1-alpha is released</title>
      <link>https://hadoop.apache.org/news/2019-10-13-ozone-0.4.1-alpha.html</link>
      <pubDate>Sun, 13 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2019-10-13-ozone-0.4.1-alpha.html</guid>
      <description>Next version of Apache Hadoop Ozone is released with Native ACLs, K8s support and improved stability.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 3.2.1 available</title>
      <link>https://hadoop.apache.org/release/3.2.1.html</link>
      <pubDate>Sun, 22 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.2.1.html</guid>
      <description>This is the second stable release of Apache Hadoop 3.2 line. It contains 493 bug fixes, improvements and enhancements since 3.2.0
Users are encouraged to read the overview of major changes since 3.2.0 For details of 493 bug fixes, improvements, and other enhancements since the previous 3.2.0 release, please check release notes and changelog detail the changes since 3.2.0</description>
    </item>
    
    <item>
      <title>Ozone 0.4.0-alpha is released</title>
      <link>https://hadoop.apache.org/news/2019-05-07-ozone-0.4.0-alpha.html</link>
      <pubDate>Tue, 07 May 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2019-05-07-ozone-0.4.0-alpha.html</guid>
      <description>Ozone 0.4.0 alpha version supports kerberos and transparent data encryption. This is first secure Ozone release. It is compatible with apache Spark, Hive and Yarn.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 3.1.2 available</title>
      <link>https://hadoop.apache.org/release/3.1.2.html</link>
      <pubDate>Wed, 06 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.1.2.html</guid>
      <description>This is the second stable release of Apache Hadoop 3.1 line. It contains 325 bug fixes, improvements and enhancements since 3.1.1.
Users are encouraged to read the overview of major changes since 3.0.x. For details of 325 bug fixes, improvements, and other enhancements since the previous 3.1.1 release, please check release notes and changelog</description>
    </item>
    
    <item>
      <title>Release 3.2.0 available</title>
      <link>https://hadoop.apache.org/release/3.2.0.html</link>
      <pubDate>Wed, 16 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.2.0.html</guid>
      <description>This is the first stable release of Apache Hadoop 3.2 line. It contains 1092 bug fixes, improvements and enhancements since 3.1.0.
Users are encouraged to read the overview of major changes since 3.1.0. For details of 1092 bug fixes, improvements, and other enhancements since the previous 3.1.0 release, please check release notes and changelog detail the changes since 3.1.0.</description>
    </item>
    
    <item>
      <title>Ozone 0.3.0-alpha is released</title>
      <link>https://hadoop.apache.org/news/2018-11-22-ozone-0.3.0-alpha.html</link>
      <pubDate>Thu, 22 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2018-11-22-ozone-0.3.0-alpha.html</guid>
      <description>Next version of Apache Hadoop Ozone is released with S3 support and improved stability.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 2.9.2 available</title>
      <link>https://hadoop.apache.org/release/2.9.2.html</link>
      <pubDate>Mon, 19 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.9.2.html</guid>
      <description>This is the next release of Apache Hadoop 2.9 line. It contains 204 bug fixes, improvements and enhancements since 2.9.1.
Users are encouraged to read the overview of major changes since 2.9.1. For details of 204 bug fixes, improvements, and other enhancements since the previous 2.9.1 release, please check release notes and changelog detail the changes since 2.9.1.</description>
    </item>
    
    <item>
      <title>Ozone release 0.2.1-alpha available</title>
      <link>https://hadoop.apache.org/news/2018-10-01-ozone-0.2.1-alpha.html</link>
      <pubDate>Mon, 01 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2018-10-01-ozone-0.2.1-alpha.html</guid>
      <description>This is the first version of Apache Hadoop Ozone. Ozone is an Object store for Hadoop built using Hadoop Distributed Data Store.
For more information check the ozone site.</description>
    </item>
    
    <item>
      <title>Release 2.8.5 available</title>
      <link>https://hadoop.apache.org/release/2.8.5.html</link>
      <pubDate>Sat, 15 Sep 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.8.5.html</guid>
      <description>This is the next release of Apache Hadoop 2.8 line. It contains 33 bug fixes, improvements and enhancements since 2.8.5.
Users are encouraged to read the overview of major changes for major features and improvements for Apache Hadoop 2.8. For details of 33 fixes, improvements, and other enhancements since the 2.8.4 release, please check release notes and changelog.</description>
    </item>
    
    <item>
      <title>Release 3.1.1 available</title>
      <link>https://hadoop.apache.org/release/3.1.1.html</link>
      <pubDate>Wed, 08 Aug 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.1.1.html</guid>
      <description>This is the first stable release of Apache Hadoop 3.1 line. It contains 435 bug fixes, improvements and enhancements since 3.1.0.
Users are encouraged to read the overview of major changes since 3.1.0. For details of 435 bug fixes, improvements, and other enhancements since the previous 3.1.0 release, please check (https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/release/3.1.1/RELEASENOTES.3.1.1.html) and changelog detail the changes since 3.1.0.</description>
    </item>
    
    <item>
      <title>Release 2.7.7 available</title>
      <link>https://hadoop.apache.org/release/2.7.7.html</link>
      <pubDate>Thu, 31 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.7.html</guid>
      <description>This is a maintenance release of Apache Hadoop 2.7. It addresses CVE-2018-8009.</description>
    </item>
    
    <item>
      <title>Release 3.0.3 available</title>
      <link>https://hadoop.apache.org/release/3.0.3.html</link>
      <pubDate>Thu, 31 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.3.html</guid>
      <description>This is the next release of Apache Hadoop 3.0 line. It contains 249 bug fixes, improvments and other enhancements since 3.0.2.
Users are encouraged to read the overview of major changes since 3.0.2. For details of 249 bug fixes, improvements, and other enhancements since the previous 3.0.2 release, please check release notes andi changelog detail the changes since 3.0.2.</description>
    </item>
    
    <item>
      <title>Release 2.8.4 available</title>
      <link>https://hadoop.apache.org/release/2.8.4.html</link>
      <pubDate>Tue, 15 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.8.4.html</guid>
      <description>This is the next release of Apache Hadoop 2.8 line. It contains 77 bug fixes, improvements and enhancements since 2.8.3.
Users are encouraged to read the overview of major changes for major features and improvements for Apache Hadoop 2.8. For details of 77 fixes, improvements, and other enhancements since the 2.8.3 release, please check release notes and changelog.</description>
    </item>
    
    <item>
      <title>Release 2.9.1 available</title>
      <link>https://hadoop.apache.org/release/2.9.1.html</link>
      <pubDate>Thu, 03 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.9.1.html</guid>
      <description>This is the next release of Apache Hadoop 2.9 line. It contains 208 bug fixes, improvements and enhancements since 2.9.0.
Users are encouraged to read the overview of major changes for major features and improvements for Apache Hadoop 2.9. For details of 208 fixes, improvements, and other enhancements since the 2.9.0 release, please check release notes and changelog.</description>
    </item>
    
    <item>
      <title>Release 3.0.2 available</title>
      <link>https://hadoop.apache.org/release/3.0.2.html</link>
      <pubDate>Sat, 21 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.2.html</guid>
      <description>This is the next release of Apache Hadoop 3.0 line. This release fixes the shard jars published in Hadoop 3.0.1.
Please see the Hadoop 3.0.2 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.7.6 available</title>
      <link>https://hadoop.apache.org/release/2.7.6.html</link>
      <pubDate>Mon, 16 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.6.html</guid>
      <description>This is the next release of Apache Hadoop 2.7 line.
Please see the Hadoop 2.7.6 Release Notes for the full list of 46 bug fixes and optimizations since the previous release 2.7.5. It particularly enables POSIX groups support for LDAP groups mapping service.</description>
    </item>
    
    <item>
      <title>Release 3.1.0 available</title>
      <link>https://hadoop.apache.org/release/3.1.0.html</link>
      <pubDate>Fri, 06 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.1.0.html</guid>
      <description>This is the first release of Apache Hadoop 3.1 line. It contains 768 bug fixes, improvements and enhancements since 3.0.0
Users are encouraged to read the overview of major changes since 3.0.0. For details of 768 bug fixes, improvements, and other enhancements since the previous 3.0.0 release, please check release notes and changelog detail the changes since 3.0.0.</description>
    </item>
    
    <item>
      <title>Release 3.0.1 available</title>
      <link>https://hadoop.apache.org/release/3.0.1.html</link>
      <pubDate>Sun, 25 Mar 2018 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.1.html</guid>
      <description>After four alpha releases and one beta release, 3.0.0 is generally available. 3.0.0 consists of 302 bug fixes, improvements, and other enhancements since 3.0.0-beta1. All together, 6242 issues were fixed as part of the 3.0.0 release series since 2.7.0.
This is the next release of Apache Hadoop 3.0 line. It contains 49 bug fixes, improvements and enhancements since 3.0.0.
Please note: 3.0.0 is deprecated after 3.0.1 because HDFS-12990 changes NameNode default RPC port back to 8020.</description>
    </item>
    
    <item>
      <title>Release 2.9.0 available</title>
      <link>https://hadoop.apache.org/release/2.9.0.html</link>
      <pubDate>Sun, 17 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.9.0.html</guid>
      <description>This is the first GA release in the 2.9 release line. It includes 30 New Features with 500+ subtasks, 407 Improvements, 790 Bug fixes new fixed issues since 2.8.2. For major features and improvements for Apache Hadoop 2.8.2 please refer: overview of major changes. For details of 790 bug fixes, improvements, and other enhancements since the previous 2.8.2 release, please check: release notes and changelog
Please note: Although this release has been tested on fairly large clusters, production users can wait for a subsequent point release which will contain fixes from further stabilization and downstream adoption.</description>
    </item>
    
    <item>
      <title>Release 2.7.5 available</title>
      <link>https://hadoop.apache.org/release/2.7.5.html</link>
      <pubDate>Thu, 14 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.5.html</guid>
      <description>This is the next release of Apache Hadoop 2.7 line.
Please see the Hadoop 2.7.5 Release Notes for the list of 34 bug fixes and optimizations since the previous release 2.7.4.</description>
    </item>
    
    <item>
      <title>Release 3.0.0 generally available</title>
      <link>https://hadoop.apache.org/release/3.0.0.html</link>
      <pubDate>Wed, 13 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.0.html</guid>
      <description>After four alpha releases and one beta release, 3.0.0 is generally available. 3.0.0 consists of 302 bug fixes, improvements, and other enhancements since 3.0.0-beta1. All together, 6242 issues were fixed as part of the 3.0.0 release series since 2.7.0.
Users are encouraged to read the overview of major changes in 3.0.0. The GA release notes and changelog detail the changes since 3.0.0-beta1.</description>
    </item>
    
    <item>
      <title>Release 2.8.3 available</title>
      <link>https://hadoop.apache.org/release/2.8.3.html</link>
      <pubDate>Tue, 12 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.8.3.html</guid>
      <description>This is the next release of Apache Hadoop 2.8 release line. It contains 79 bug fixes, improvments and other enhancements since 2.8.2.
For major features and improvements for Apache Hadoop 2.8, please refer: overview of major changes. For details of 79 fixes, improvements, and other enhancements since the previous 2.8.2 release, please check: release notes and changelog</description>
    </item>
    
    <item>
      <title>Release 2.8.2 available</title>
      <link>https://hadoop.apache.org/release/2.8.2.html</link>
      <pubDate>Tue, 24 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.8.2.html</guid>
      <description>This is the first GA release in the 2.8 release line. It contains 315 bug fixes, improvments and other enhancements since 2.8.1. For major features and improvements for Apache Hadoop 2.8, please refer: overview of major changes. For details of 315 fixes, improvements, and other enhancements since the previous 2.8.1 release, please check: release notes and changelog</description>
    </item>
    
    <item>
      <title>Release 3.0.0-beta1 available</title>
      <link>https://hadoop.apache.org/release/3.0.0-beta1.html</link>
      <pubDate>Tue, 03 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.0-beta1.html</guid>
      <description>This is the first beta release in the 3.0.0 release line. It consists of 576 bug fixes, improvements, and other enhancements since 3.0.0-alpha4. This is planned to be the final alpha release, with the next release being 3.0.0 GA.
Please note that beta releases are API stable but come with no guarantees of quality, and are not intended for production use.
Users are encouraged to read the overview of major changes coming in 3.</description>
    </item>
    
    <item>
      <title>Release 2.7.4 available</title>
      <link>https://hadoop.apache.org/release/2.7.4.html</link>
      <pubDate>Fri, 04 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.4.html</guid>
      <description>This is the next release of Apache Hadoop 2.7 line.
Please see the Hadoop 2.7.4 Release Notes for the list of 264 bugs fixes and optimizations since the previous release 2.7.3.</description>
    </item>
    
    <item>
      <title>Release 3.0.0-alpha4 available</title>
      <link>https://hadoop.apache.org/release/3.0.0-alpha4.html</link>
      <pubDate>Fri, 07 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.0-alpha4.html</guid>
      <description>This is the fourth alpha release in the 3.0.0 release line. It consists of 814 bug fixes, improvements, and other enhancements since 3.0.0-alpha3. This is planned to be the final alpha release, with the next release being 3.0.0-beta1.
Please note that alpha releases come with no guarantees of quality or API stability, and are not intended for production use.
Users are encouraged to read the overview of major changes coming in 3.</description>
    </item>
    
    <item>
      <title>Release 2.8.1 available</title>
      <link>https://hadoop.apache.org/release/2.8.1.html</link>
      <pubDate>Thu, 08 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.8.1.html</guid>
      <description>This is a security release in the 2.8.0 release line. It consists of 2.8.0 plus security fixes. Users on 2.8.0 are encouraged to upgrade to 2.8.1.
Please note that 2.8.x release line continues to be not yet ready for production use. Critical issues are being ironed out via testing and downstream adoption. Production users should wait for a subsequent release in the 2.8.x line.</description>
    </item>
    
    <item>
      <title>Release 2.8.0 available</title>
      <link>https://hadoop.apache.org/release/2.8.0.html</link>
      <pubDate>Wed, 22 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.8.0.html</guid>
      <description>Apache Hadoop 2.8.0 contains a number of significant features and enhancements. For major features and improvements, please refer: overview of major changes coming in 2.8.0. For details of 2917 fixes, improvements, and new features since the previous 2.7.0 release, please check: release notes and changelog
Please note that this release is not yet ready for production use. Critical issues are being ironed out via testing and downstream adoption. Production users should wait for a 2.</description>
    </item>
    
    <item>
      <title>Release 3.0.0-alpha2</title>
      <link>https://hadoop.apache.org/release/3.0.0-alpha2.html</link>
      <pubDate>Wed, 25 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.0-alpha2.html</guid>
      <description>This is the second alpha in a series of planned alphas and betas leading up to a 3.0.0 GA release. The intention is to &amp;ldquo;release early, release often&amp;rdquo; to quickly iterate on feedback collected from downstream users.
Please note that alpha releases come with no guarantees of quality or API stability, and are not intended for production use.
Users are encouraged to read the overview of major changes coming in 3.</description>
    </item>
    
    <item>
      <title>Release 2.6.5 available</title>
      <link>https://hadoop.apache.org/release/2.6.5.html</link>
      <pubDate>Sat, 08 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.6.5.html</guid>
      <description>A point release for the 2.6 line.
Please see the Hadoop 2.6.5 Release Notes for the list of 79 critical bug fixes and since the previous release 2.6.4.</description>
    </item>
    
    <item>
      <title>Release 3.0.0-alpha1 available</title>
      <link>https://hadoop.apache.org/release/3.0.0-alpha1.html</link>
      <pubDate>Sat, 03 Sep 2016 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/3.0.0-alpha1.html</guid>
      <description>This is the first alpha in a series of planned alphas and betas leading up to a 3.0.0 GA release. The intention is to &amp;ldquo;release early, release often&amp;rdquo; to quickly iterate on feedback collected from downstream users.
Please note that alpha releases come with no guarantees of quality or API stability, and are not intended for production use.
Users are encouraged to read the overview of major changes coming in 3.</description>
    </item>
    
    <item>
      <title>Release 2.7.3 available</title>
      <link>https://hadoop.apache.org/release/2.7.3.html</link>
      <pubDate>Fri, 26 Aug 2016 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.3.html</guid>
      <description>Please see the Hadoop 2.7.3 Release Notes for the list of 221 bug fixes and patches since the previous release 2.7.2.</description>
    </item>
    
    <item>
      <title>Release 2.6.4 available</title>
      <link>https://hadoop.apache.org/release/2.6.4.html</link>
      <pubDate>Thu, 11 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.6.4.html</guid>
      <description>A point release for the 2.6 line.
Please see the Hadoop 2.6.4 Release Notes for the list of 46 bug fixes and patches since the previous release 2.6.3.</description>
    </item>
    
    <item>
      <title>Release 2.7.2 (stable) available</title>
      <link>https://hadoop.apache.org/release/2.7.2.html</link>
      <pubDate>Mon, 25 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.2.html</guid>
      <description>A point release for the 2.7 line.
Please see the Hadoop 2.7.2 Release Notes for the list of 155 bug fixes and patches since the previous release 2.7.1.</description>
    </item>
    
    <item>
      <title>Release 2.6.3 available</title>
      <link>https://hadoop.apache.org/release/2.6.3.html</link>
      <pubDate>Thu, 17 Dec 2015 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.6.3.html</guid>
      <description>Apache Hadoop 2.6.3 is a point release in the 2.6.x release line, and fixes a few critical issues in 2.6.2.
Please see the Hadoop 2.6.3 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.6.2 available</title>
      <link>https://hadoop.apache.org/release/2.6.2.html</link>
      <pubDate>Wed, 28 Oct 2015 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.6.2.html</guid>
      <description>Apache Hadoop 2.6.2 is a point release in the 2.6.x release line, and fixes a few critical issues in 2.6.1.
Please see the Hadoop 2.6.2 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.6.1 available</title>
      <link>https://hadoop.apache.org/release/2.6.1.html</link>
      <pubDate>Wed, 23 Sep 2015 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.6.1.html</guid>
      <description>Apache Hadoop 2.6.1 is a point release in the 2.6.x release line, and fixes a lot of critical issues in 2.6.0.
Please see the Hadoop 2.6.1 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.7.1 (stable) available</title>
      <link>https://hadoop.apache.org/release/2.7.1.html</link>
      <pubDate>Mon, 06 Jul 2015 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.1.html</guid>
      <description>A point release for the 2.7 line. This release is now considered stable.
Please see the Hadoop 2.7.1 Release Notes for the list of 131 bug fixes and patches since the previous release 2.7.0. Please look at the 2.7.0 section below for the list of enhancements enabled by this first stable release of 2.7.x.</description>
    </item>
    
    <item>
      <title>Release 2.7.0 available</title>
      <link>https://hadoop.apache.org/release/2.7.0.html</link>
      <pubDate>Tue, 21 Apr 2015 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.7.0.html</guid>
      <description>Apache Hadoop 2.7.0 contains a number of significant enhancements. A few of them are noted below.
 IMPORTANT notes This release drops support for JDK6 runtime and works with JDK 7+ only. This release is not yet ready for production use. Critical issues are being ironed out via testing and downstream adoption. Production users should wait for a 2.7.1/2.7.2 release. Hadoop Common HADOOP-9629 - Support Windows Azure Storage - Blob as a file system in Hadoop.</description>
    </item>
    
    <item>
      <title>Release 2.5.2 available</title>
      <link>https://hadoop.apache.org/release/2.5.2.html</link>
      <pubDate>Wed, 19 Nov 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.5.2.html</guid>
      <description>Apache Hadoop 2.5.2 is a point release in the 2.5.x release line, and fixes a few critical issues in 2.5.1</description>
    </item>
    
    <item>
      <title>Release 2.6.0 available</title>
      <link>https://hadoop.apache.org/release/2.6.0.html</link>
      <pubDate>Tue, 18 Nov 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.6.0.html</guid>
      <description>Apache Hadoop 2.6.0 contains a number of significant enhancements such as:
 Hadoop Common HADOOP-10433 - Key management server (beta) HADOOP-10607 - Credential provider (beta) Hadoop HDFS Heterogeneous Storage Tiers - Phase 2 HDFS-5682 - Application APIs for heterogeneous storage HDFS-7228 - SSD storage tier HDFS-5851 - Memory as a storage tier (beta) HDFS-6584 - Support for Archival Storage HDFS-6134 - Transparent data at rest encryption (beta) HDFS-2856 - Operating secure DataNode without requiring root access HDFS-6740 - Hot swap drive: support add/remove data node volumes without restarting data node (beta) HDFS-6606 - AES support for faster wire encryption Hadoop YARN YARN-896 - Support for long running services in YARN YARN-913 - Service Registry for applications YARN-666 - Support for rolling upgrades YARN-556 - Work-preserving restarts of ResourceManager YARN-1336 - Container-preserving restart of NodeManager YARN-796 - Support node labels during scheduling YARN-1051 - Support for time-based resource reservations in Capacity Scheduler (beta) YARN-1964 - Support running of applications natively in Docker containers (alpha)  Please see the Hadoop 2.</description>
    </item>
    
    <item>
      <title>Release 2.5.1 available</title>
      <link>https://hadoop.apache.org/release/2.5.1.html</link>
      <pubDate>Fri, 12 Sep 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.5.1.html</guid>
      <description>Apache Hadoop 2.5.1 is a point release in the 2.5.x release line, and fixes a few release issues with 2.5.0.</description>
    </item>
    
    <item>
      <title>Release 2.5.0 available</title>
      <link>https://hadoop.apache.org/release/2.5.0.html</link>
      <pubDate>Mon, 11 Aug 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.5.0.html</guid>
      <description>Apache Hadoop 2.5.0 is a minor release in the 2.x release line.
The release includes the following major features and improvements:
 Authentication improvements when using an HTTP proxy server. A new Hadoop Metrics sink that allows writing directly to Graphite. Specification for Hadoop Compatible Filesystem effort. Support for POSIX-style filesystem extended attributes. OfflineImageViewer to browse an fsimage via the WebHDFS API. Supportability improvements and bug fixes to the NFS gateway.</description>
    </item>
    
    <item>
      <title>Release 2.4.1 available</title>
      <link>https://hadoop.apache.org/release/2.4.1.html</link>
      <pubDate>Mon, 30 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.4.1.html</guid>
      <description>Apache Hadoop 2.4.1 is a bug-fix release for the stable 2.4.x line.
There is also a security bug fix in this minor release.
 CVE-2014-0229: Add privilege checks to HDFS admin sub-commands refreshNamenodes, deleteBlockPool and shutdownDatanode.  Users are encouraged to immediately move to 2.4.1.
Please see the Hadoop 2.4.1 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 0.23.11 available</title>
      <link>https://hadoop.apache.org/release/0.23.11.html</link>
      <pubDate>Fri, 27 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.11.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.11 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.4.0 available</title>
      <link>https://hadoop.apache.org/release/2.4.0.html</link>
      <pubDate>Mon, 07 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.4.0.html</guid>
      <description>Apache Hadoop 2.4.0 contains a number of significant enhancements such as:
 Support for Access Control Lists in HDFS Native support for Rolling Upgrades in HDFS Usage of protocol-buffers for HDFS FSImage for smooth operational upgrades Complete HTTPS support in HDFS Support for Automatic Failover of the YARN ResourceManager Enhanced support for new applications on YARN with Application History Server and Application Timeline Server Support for strong SLAs in YARN CapacityScheduler via Preemption  Please see the Hadoop 2.</description>
    </item>
    
    <item>
      <title>Release 2.3.0 available</title>
      <link>https://hadoop.apache.org/release/2.3.0.html</link>
      <pubDate>Thu, 20 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.3.0.html</guid>
      <description>Apache Hadoop 2.3.0 contains a number of significant enhancements such as:
 Support for Heterogeneous Storage hierarchy in HDFS. In-memory cache for HDFS data with centralized administration and management. Simplified distribution of MapReduce binaries via HDFS in YARN Distributed Cache.  Please see the Hadoop 2.3.0 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 0.23.10 available</title>
      <link>https://hadoop.apache.org/release/0.23.10.html</link>
      <pubDate>Wed, 11 Dec 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.10.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.10 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.2.0 available</title>
      <link>https://hadoop.apache.org/release/2.2.0.html</link>
      <pubDate>Tue, 15 Oct 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.2.0.html</guid>
      <description>Apache Hadoop 2.2.0 is the GA release of Apache Hadoop 2.x.
Users are encouraged to immediately move to 2.2.0 since this release is significantly more stable and is guaranteed to remain compatible in terms of both APIs and protocols.
To recap, this release has a number of significant highlights compared to Hadoop 1.x:
 YARN - A general purpose resource management system for Hadoop to allow MapReduce and other other data processing frameworks and services High Availability for HDFS HDFS Federation HDFS Snapshots NFSv3 access to data in HDFS Support for running Hadoop on Microsoft Windows Binary Compatibility for MapReduce applications built on hadoop-1.</description>
    </item>
    
    <item>
      <title>Release 2.1.1-beta available</title>
      <link>https://hadoop.apache.org/release/2.1.1-beta.html</link>
      <pubDate>Mon, 23 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.1.1-beta.html</guid>
      <description>Apache Hadoop 2.1.1-beta is a bug-fix version of the beta release of Apache Hadoop 2.x.
Please see the Hadoop 2.1.1-beta Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.1.0-beta available</title>
      <link>https://hadoop.apache.org/release/2.1.0-beta.html</link>
      <pubDate>Sun, 25 Aug 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.1.0-beta.html</guid>
      <description>Apache Hadoop 2.1.0-beta is the beta release of Apache Hadoop 2.x.
Users are encouraged to immediately move to 2.1.0-beta since this release is significantly more stable and has completley whetted set of APIs and wire-protocols for future compatibility.
In addition, this release has a number of other significant highlights:
 HDFS Snapshots Support for running Hadoop on Microsoft Windows YARN API stabilization Binary Compatibility for MapReduce applications built on hadoop-1.x Substantial amount of integration testing with rest of projects in the ecosystem  Please see the Hadoop 2.</description>
    </item>
    
    <item>
      <title>Release 2.0.6-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.6-alpha.html</link>
      <pubDate>Fri, 23 Aug 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.6-alpha.html</guid>
      <description>This release delivers a number of critical bug-fixes for hadoop-2.x uncovered during integration testing of previous release.
Please see the Hadoop 2.0.6-alpha Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.2.1 (stable) available</title>
      <link>https://hadoop.apache.org/release/1.2.1.html</link>
      <pubDate>Thu, 01 Aug 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.2.1.html</guid>
      <description>A point release for the 1.2 line. This release is now considered stable.
Please see the Hadoop 1.2.1 Release Notes for the list of 18 bug fixes and patches since the previous release 1.2.0.</description>
    </item>
    
    <item>
      <title>Release 0.23.9 available</title>
      <link>https://hadoop.apache.org/release/0.23.9.html</link>
      <pubDate>Mon, 08 Jul 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.9.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.9 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.0.5-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.5-alpha.html</link>
      <pubDate>Thu, 06 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.5-alpha.html</guid>
      <description>This release delivers a number of critical bug-fixes for hadoop-2.x uncovered during integration testing of previous release.
Please see the Hadoop 2.0.5-alpha Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 0.23.8 available</title>
      <link>https://hadoop.apache.org/release/0.23.8.html</link>
      <pubDate>Wed, 05 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.8.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.8 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.2.0 available</title>
      <link>https://hadoop.apache.org/release/1.2.0.html</link>
      <pubDate>Mon, 13 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.2.0.html</guid>
      <description>This is a beta release for version 1.2.
This release delivers over 200 enhancements and bug-fixes, compared to the previous 1.1.2 release. Major enhancements include:
 DistCp v2 backported Web services for JobTracker WebHDFS enhancements Extensions of task placement and replica placement policy interfaces Offline Image Viewer backported Namenode more robust in case of edit log corruption Add NodeGroups level to NetworkTopology Add &amp;ldquo;unset&amp;rdquo; to Configuration API  Please see the Hadoop 1.</description>
    </item>
    
    <item>
      <title>Release 2.0.4-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.4-alpha.html</link>
      <pubDate>Thu, 25 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.4-alpha.html</guid>
      <description>This release delivers a number of critical bug-fixes for hadoop-2.x uncovered during integration testing.
Please see the Hadoop 2.0.4-alpha Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 0.23.7 available</title>
      <link>https://hadoop.apache.org/release/0.23.7.html</link>
      <pubDate>Thu, 18 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.7.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.7 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.1.2 available</title>
      <link>https://hadoop.apache.org/release/1.1.2.html</link>
      <pubDate>Fri, 15 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.1.2.html</guid>
      <description>Point release for the 1.1.X line. Bug fixes and improvements, as documented in the Hadoop 1.1.2 Release Notes.</description>
    </item>
    
    <item>
      <title>Release 2.0.3-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.3-alpha.html</link>
      <pubDate>Thu, 14 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.3-alpha.html</guid>
      <description>This is the latest (alpha) version in the hadoop-2.x series.
This release delivers significant major features and stability over previous releases in hadoop-2.x series:
 QJM for HDFS HA for NameNode Multi-resource scheduling (CPU and memory) for YARN YARN ResourceManager Restart Significant stability at scale for YARN (over 30,000 nodes and 14 million applications so far, at time of release)  This release, like previous releases in hadoop-2.x series is still considered alpha primarily since some of APIs aren&amp;rsquo;t fully-baked and we expect some churn in future.</description>
    </item>
    
    <item>
      <title>Release 0.23.6 available</title>
      <link>https://hadoop.apache.org/release/0.23.6.html</link>
      <pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.6.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.6 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.1.1 available</title>
      <link>https://hadoop.apache.org/release/1.1.1.html</link>
      <pubDate>Sat, 01 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.1.1.html</guid>
      <description>Point release for the 1.1.X line. Bug fixes and improvements, as documented in the Hadoop 1.1.1 Release Notes.</description>
    </item>
    
    <item>
      <title>Release 0.23.5 available</title>
      <link>https://hadoop.apache.org/release/0.23.5.html</link>
      <pubDate>Wed, 28 Nov 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.5.html</guid>
      <description>A point release for the 0.23.X line. Bug fixes to continue stabilization.
Please see the Hadoop 0.23.5 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 0.23.4 available</title>
      <link>https://hadoop.apache.org/release/0.23.4.html</link>
      <pubDate>Mon, 15 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.4.html</guid>
      <description>A point release for the 0.23.X line. Most notably this release now incluses support for upgrading a 1.X HDFS cluster with append/synch enabled.
Please see the Hadoop 0.23.4 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.1.0 available</title>
      <link>https://hadoop.apache.org/release/1.1.0.html</link>
      <pubDate>Sat, 13 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.1.0.html</guid>
      <description>This is a beta release for version 1.1.
This release has approximately 135 enhancements and bug fixes compared to Hadoop-1.0.4, including:
 Many performance improvements in HDFS, backported from trunk Improvements in Security to use SPNEGO instead of Kerberized SSL for HTTP transactions Lower default minimum heartbeat for task trackers from 3 sec to 300msec to increase job throughput on small clusters Port of Gridmix v3 Set MALLOC_ARENA_MAX in hadoop-config.sh to resolve problems with glibc in RHEL-6 Splittable bzip2 files Of course it also has the same security fix as release 1.</description>
    </item>
    
    <item>
      <title>Release 1.0.4 available</title>
      <link>https://hadoop.apache.org/release/1.0.4.html</link>
      <pubDate>Fri, 12 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.0.4.html</guid>
      <description>This is a Security Patch release for version 1.0.
There are four bug fixes and feature enhancements in this minor release:
 Security issue CVE-2012-4449: Hadoop tokens use a 20-bit secret HADOOP-7154 - set MALLOC_ARENA_MAX in hadoop-config.sh to resolve problems with glibc in RHEL-6 HDFS-3652 - FSEditLog failure removes the wrong edit stream when storage dirs have same name MAPREDUCE-4399 - Fix (up to 3x) performance regression in shuffle  Please see the Hadoop 1.</description>
    </item>
    
    <item>
      <title>Release 2.0.2-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.2-alpha.html</link>
      <pubDate>Tue, 09 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.2-alpha.html</guid>
      <description>This is the second (alpha) version in the hadoop-2.x series.
This delivers significant enhancements to HDFS HA. Also it has a significantly more stable version of YARN which, at the time of release, has already been deployed on a 2000 node cluster.
Please see the Hadoop 2.0.2-alpha Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 0.23.3 available</title>
      <link>https://hadoop.apache.org/release/0.23.3.html</link>
      <pubDate>Mon, 17 Sep 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.3.html</guid>
      <description>This release contains YARN and MRv2 but does not have Name Node High Avalability
Please see the Hadoop 0.23.3 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.0.1-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.1-alpha.html</link>
      <pubDate>Thu, 26 Jul 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.1-alpha.html</guid>
      <description>This release contains important security fixes over hadoop-2.0.0-alpha.
Please see the Hadoop 2.0.1-alpha Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 2.0.0-alpha available</title>
      <link>https://hadoop.apache.org/release/2.0.0-alpha.html</link>
      <pubDate>Wed, 23 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/2.0.0-alpha.html</guid>
      <description>This is the first (alpha) version in the hadoop-2.x series.
This delivers significant major features over the currently stable hadoop-1.x series including:
 HDFS HA for NameNode (manual failover) YARN aka NextGen MapReduce HDFS Federation Performance Wire-compatibility for both HDFS and YARN/MapReduce (using protobufs)  Please see the Hadoop 2.0.0-alpha Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.0.3 available</title>
      <link>https://hadoop.apache.org/release/1.0.3.html</link>
      <pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.0.3.html</guid>
      <description>This is a bug fix release for version 1.0.
Bug fixes and feature enhancements in this minor release include:
 4 patches in support of non-Oracle JDKs several patches to clean up error handling and log messages various production issue fixes  Please see the Hadoop 1.0.3 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.0.2 available</title>
      <link>https://hadoop.apache.org/release/1.0.2.html</link>
      <pubDate>Tue, 03 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.0.2.html</guid>
      <description>This is a bug fix release for version 1.0.
Bug fixes and feature enhancements in this minor release include:
 Snappy compressor/decompressor is available Occassional deadlock in metrics serving thread fixed 64-bit secure datanodes failed to start, now fixed Changed package names for 64-bit rpm/debs to use &amp;ldquo;.x86_64.&amp;rdquo; instead of &amp;ldquo;.amd64.&amp;rdquo;  Please see the Hadoop 1.0.2 Release Notes for details.</description>
    </item>
    
    <item>
      <title>Release 1.0.1 available</title>
      <link>https://hadoop.apache.org/release/1.0.1.html</link>
      <pubDate>Sat, 10 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.0.1.html</guid>
      <description>This is a bug fix release for version 1.0. This release is now considered stable, replacing the long-standing 0.20.203.
Bug fixes in this minor release include:
 Added hadoop-client and hadoop-minicluster artifacts for ease of client install and testing Support run-as-user in non-secure mode Better compatibility with Ganglia, HBase, and Sqoop  Please see the Hadoop 1.0.1 Release Notes for details.</description>
    </item>
    
    <item>
      <title>release 0.23.1 available</title>
      <link>https://hadoop.apache.org/release/0.23.1.html</link>
      <pubDate>Mon, 27 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.1.html</guid>
      <description>This is the second alpha version of the hadoop-0.23 major release after the first alpha 0.23.0. This release has significant improvements compared to 0.23.0 but should still be considered as alpha-quality and not for production use.
hadoop-0.23.1 contains several major advances from 0.23.0:
 Lots of bug fixes and improvements in both HDFS and MapReduce Major performance work to make this release either match or exceed performance of Hadoop-1 in most aspects of both HDFS and MapReduce.</description>
    </item>
    
    <item>
      <title>release 1.0.0 available</title>
      <link>https://hadoop.apache.org/release/1.0.0.html</link>
      <pubDate>Tue, 27 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/1.0.0.html</guid>
      <description>After six years of gestation, Hadoop reaches 1.0.0! This release is from the 0.20-security code line, and includes support for:
 security HBase (append/hsynch/hflush, and security) webhdfs (with full support for security) performance enhanced access to local files for HBase other performance enhancements, bug fixes, and features  Please see the complete Hadoop 1.0.0 Release Notes for details.</description>
    </item>
    
    <item>
      <title>release 0.22.0 available</title>
      <link>https://hadoop.apache.org/release/0.22.0.html</link>
      <pubDate>Sat, 10 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.22.0.html</guid>
      <description>This release contains many bug fixes and optimizations compared to its predecessor 0.21.0. See the Hadoop 0.22.0 Release Notes for details. Alternatively, you can look at the complete change log for this release
Notes:
The following features are not supported in Hadoop 0.22.0.
 Security. Latest optimizations of the MapReduce framework introduced in the Hadoop 0.20.security line of releases. Disk-fail-in-place. JMX-based metrics v2.  Hadoop 0.22.0 features
 HBase support with hflush and hsync.</description>
    </item>
    
    <item>
      <title>release 0.23.0 available</title>
      <link>https://hadoop.apache.org/release/0.23.0.html</link>
      <pubDate>Fri, 11 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.23.0.html</guid>
      <description>This is the alpha version of the hadoop-0.23 major release. This is the first release we&amp;rsquo;ve made off Apache Hadoop trunk in a long while. This release is alpha-quality and not yet ready for serious use.
hadoop-0.23 contains several major advances:
 HDFS Federation NextGen MapReduce (YARN)  It also has several major performance improvements to both HDFS and MapReduce.
See the Hadoop 0.23.0 Release Notes for details.</description>
    </item>
    
    <item>
      <title>release 0.20.205.0 available</title>
      <link>https://hadoop.apache.org/release/0.20.205.0.html</link>
      <pubDate>Mon, 17 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.20.205.0.html</guid>
      <description>This release contains improvements, new features, bug fixes and optimizations. This release includes rpms and debs, all duly checksummed and securely signed.
See the Hadoop 0.20.205.0 Release Notes for details. Alternatively, you can look at the complete change log for this release.
Notes:
 This release includes a merge of append/hsynch/hflush capabilities from 0.20-append branch, to support HBase in secure mode. This release includes the new webhdfs file system, but webhdfs write calls currently fail in secure mode.</description>
    </item>
    
    <item>
      <title>release 0.20.204.0 available</title>
      <link>https://hadoop.apache.org/release/0.20.204.0.html</link>
      <pubDate>Mon, 05 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.20.204.0.html</guid>
      <description>This release contains improvements, new features, bug fixes and optimizations. This release includes rpms and debs for the first time.
See the Hadoop 0.20.204.0 Release Notes for details. Alternatively, you can look at the complete change log for this release.
Notes:
 The RPMs don&amp;rsquo;t work with security turned on. (HADOOP-7599) The NameNode&amp;rsquo;s edit log needs to be merged into the image via put the NameNode into safe mode run dfsadmin savenamespace command perform a normal upgrade  </description>
    </item>
    
    <item>
      <title>release 0.20.203.0 available</title>
      <link>https://hadoop.apache.org/release/0.20.203.0.html</link>
      <pubDate>Wed, 11 May 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.20.203.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations. It is stable and has been deployed in large (4,500 machine) production clusters.
See the Hadoop 0.20.203.0 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>Apache Hadoop takes top prize at Media Guardian Innovation Awards</title>
      <link>https://hadoop.apache.org/news/2011-03-xx-award.html</link>
      <pubDate>Thu, 31 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2011-03-xx-award.html</guid>
      <description>Described by the judging panel as a &amp;ldquo;Swiss army knife of the 21st century&amp;rdquo;, Apache Hadoop picked up the innovator of the year award for having the potential to change the face of media innovations.
See The Guardian web site</description>
    </item>
    
    <item>
      <title>ZooKeeper Graduates</title>
      <link>https://hadoop.apache.org/news/2011-01-xx-zookeeper.html</link>
      <pubDate>Sun, 30 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2011-01-xx-zookeeper.html</guid>
      <description>Hadoop&amp;rsquo;s ZooKeeper subproject has graduated to become a top-level Apache project.
Apache ZooKeeper can now be found at http://zookeeper.apache.org/</description>
    </item>
    
    <item>
      <title>Hive and Pig Graduate</title>
      <link>https://hadoop.apache.org/news/2010-10-xx-hive-pig.html</link>
      <pubDate>Sat, 30 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2010-10-xx-hive-pig.html</guid>
      <description>Hadoop&amp;rsquo;s Hive and Pig subprojects have graduated to become top-level Apache projects.
Apache Hive can now be found at http://hive.apache.org/
Pig can now be found at http://pig.apache.org/</description>
    </item>
    
    <item>
      <title>release 0.21.0 available</title>
      <link>https://hadoop.apache.org/release/0.21.0.html</link>
      <pubDate>Mon, 23 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.21.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations. It has not undergone testing at scale and should not be considered stable or suitable for production. This release is being classified as a minor release, which means that it should be API compatible with 0.20.2.
See the Hadoop 0.21.0 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>Avro and HBase Graduate</title>
      <link>https://hadoop.apache.org/news/2010-05-xx-avro-hbase.html</link>
      <pubDate>Mon, 31 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2010-05-xx-avro-hbase.html</guid>
      <description>Hadoop&amp;rsquo;s Avro and HBase subprojects have graduated to become top-level Apache projects.
Apache Avro can now be found at http://avro.apache.org/
Apache HBase can now be found at http://hbase.apache.org/</description>
    </item>
    
    <item>
      <title>release 0.20.2 available</title>
      <link>https://hadoop.apache.org/release/0.20.2.html</link>
      <pubDate>Fri, 26 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.20.2.html</guid>
      <description>This release contains several critical bug fixes.
See the Hadoop 0.20.2 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.20.1 available</title>
      <link>https://hadoop.apache.org/release/0.20.1.html</link>
      <pubDate>Mon, 14 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.20.1.html</guid>
      <description>This release contains several critical bug fixes.
See the Hadoop 0.20.1 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>New Hadoop Subprojects</title>
      <link>https://hadoop.apache.org/news/2009-07-xx-subprojects.html</link>
      <pubDate>Fri, 31 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2009-07-xx-subprojects.html</guid>
      <description>Hadoop is getting bigger!
 Hadoop Core is renamed Hadoop Common. MapReduce and the Hadoop Distributed File System (HDFS) are now separate subprojects. Avro and Chukwa are new Hadoop subprojects.  See the summary descriptions for all subprojects above. Visit the individual sites for more detailed information.</description>
    </item>
    
    <item>
      <title>release 0.19.2 available</title>
      <link>https://hadoop.apache.org/release/0.19.2.html</link>
      <pubDate>Thu, 23 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.19.2.html</guid>
      <description>This release contains several critical bug fixes.
See the Hadoop 0.19.2 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.20.0 available</title>
      <link>https://hadoop.apache.org/release/0.20.0.html</link>
      <pubDate>Wed, 22 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.20.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
See the Hadoop 0.20.0 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>ApacheCon EU</title>
      <link>https://hadoop.apache.org/news/2009-03-xx-apachecon-eu.html</link>
      <pubDate>Tue, 31 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2009-03-xx-apachecon-eu.html</guid>
      <description>In case you missed it&amp;hellip;. ApacheCon Europe 2009</description>
    </item>
    
    <item>
      <title>release 0.19.1 available</title>
      <link>https://hadoop.apache.org/release/0.19.1.html</link>
      <pubDate>Tue, 24 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.19.1.html</guid>
      <description>This release contains many critical bug fixes, including some data loss issues. The release also introduces an incompatible change by disabling the file append API (HADOOP-5224) until it can be stabilized.
See the Hadoop 0.19.1 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.18.3 available</title>
      <link>https://hadoop.apache.org/release/0.18.3.html</link>
      <pubDate>Thu, 29 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.18.3.html</guid>
      <description>This release contains many critical bug fixes.
See the Hadoop 0.18.3 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>ApacheCon US 2008</title>
      <link>https://hadoop.apache.org/news/2008-11-xx-apachecon.html</link>
      <pubDate>Sun, 30 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2008-11-xx-apachecon.html</guid>
      <description>In case you missed it&amp;hellip;. ApacheCon US 2008</description>
    </item>
    
    <item>
      <title>release 0.19.0 available</title>
      <link>https://hadoop.apache.org/release/0.19.0.html</link>
      <pubDate>Fri, 21 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.19.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
See the Hadoop 0.19.0 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.18.2 available</title>
      <link>https://hadoop.apache.org/release/0.18.2.html</link>
      <pubDate>Mon, 03 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.18.2.html</guid>
      <description>This release contains several critical bug fixes.
See the Hadoop 0.18.2 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.18.1 available</title>
      <link>https://hadoop.apache.org/release/0.18.1.html</link>
      <pubDate>Wed, 17 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.18.1.html</guid>
      <description>This release contains several critical bug fixes.
See the Hadoop 0.18.1 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.18.0 available</title>
      <link>https://hadoop.apache.org/release/0.18.0.html</link>
      <pubDate>Fri, 22 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.18.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
See the Hadoop 0.18.0 Release Notes for details. Alternatively, you can look at the complete change log for this release or the Jira issue log for all releases.</description>
    </item>
    
    <item>
      <title>release 0.17.2 available</title>
      <link>https://hadoop.apache.org/release/0.17.2.html</link>
      <pubDate>Tue, 19 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.17.2.html</guid>
      <description>This release contains several critical bug fixes.
See the Hadoop 0.17.2 Notes for details.</description>
    </item>
    
    <item>
      <title>July 2008 - Hadoop Wins Terabyte Sort Benchmark</title>
      <link>https://hadoop.apache.org/news/2008-07-xx-terabyte-sort.html</link>
      <pubDate>Thu, 31 Jul 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/news/2008-07-xx-terabyte-sort.html</guid>
      <description>Hadoop Wins Terabyte Sort Benchmark: One of Yahoo&amp;rsquo;s Hadoop clusters sorted 1 terabyte of data in 209 seconds, which beat the previous record of 297 seconds in the annual general purpose (Daytona) terabyte sort benchmark. This is the first time that either a Java or an open source program has won.</description>
    </item>
    
    <item>
      <title>release 0.17.1 available</title>
      <link>https://hadoop.apache.org/release/0.17.1.html</link>
      <pubDate>Mon, 23 Jun 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.17.1.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
See the Hadoop 0.17.1 Notes for details.</description>
    </item>
    
    <item>
      <title>release 0.17.0 available</title>
      <link>https://hadoop.apache.org/release/0.17.0.html</link>
      <pubDate>Tue, 20 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.17.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
See the Hadoop 0.17.0 Release Notes for details.</description>
    </item>
    
    <item>
      <title>release 0.16.4 available</title>
      <link>https://hadoop.apache.org/release/0.16.4.html</link>
      <pubDate>Mon, 05 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.16.4.html</guid>
      <description>This release fixes 4 critical bugs in release 0.16.3.</description>
    </item>
    
    <item>
      <title>release 0.16.3 available</title>
      <link>https://hadoop.apache.org/release/0.16.3.html</link>
      <pubDate>Wed, 16 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.16.3.html</guid>
      <description>This release fixes critical bugs in release 0.16.2.</description>
    </item>
    
    <item>
      <title>release 0.16.2 available</title>
      <link>https://hadoop.apache.org/release/0.16.2.html</link>
      <pubDate>Wed, 02 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.16.2.html</guid>
      <description>This release fixes critical bugs in release 0.16.1.
HBase has been removed from this release. HBase releases are now maintained at https://hadoop.apache.org/hbase/</description>
    </item>
    
    <item>
      <title>release 0.16.1 available</title>
      <link>https://hadoop.apache.org/release/0.16.1.html</link>
      <pubDate>Thu, 13 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.16.1.html</guid>
      <description>This release fixes critical bugs in release 0.16.0.
HBase releases are now maintained at https://hadoop.apache.org/hbase/</description>
    </item>
    
    <item>
      <title>release 0.16.0 available</title>
      <link>https://hadoop.apache.org/release/0.16.0.html</link>
      <pubDate>Thu, 07 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.16.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
See the release notes (above) for details.
When upgrading an existing HDFS filesystem to a 0.16.x release from an earlier release, you should first start HDFS with &amp;lsquo;bin/start-dfs.sh -upgrade&amp;rsquo;. See the Hadoop Upgrade page for details.</description>
    </item>
    
    <item>
      <title>release 0.15.3 available</title>
      <link>https://hadoop.apache.org/release/0.15.3.html</link>
      <pubDate>Fri, 18 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.15.3.html</guid>
      <description>This release fixes critical bugs in release 0.15.3.</description>
    </item>
    
    <item>
      <title>release 0.15.2 available</title>
      <link>https://hadoop.apache.org/release/0.15.2.html</link>
      <pubDate>Wed, 02 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.15.2.html</guid>
      <description>This release fixes critical bugs in release 0.15.1.</description>
    </item>
    
    <item>
      <title>release 0.15.1 available</title>
      <link>https://hadoop.apache.org/release/0.15.1.html</link>
      <pubDate>Tue, 27 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.15.1.html</guid>
      <description>This release fixes critical bugs in release 0.15.0.</description>
    </item>
    
    <item>
      <title>release 0.14.4 available</title>
      <link>https://hadoop.apache.org/release/0.14.4.html</link>
      <pubDate>Mon, 26 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.14.4.html</guid>
      <description>This release fixes critical bugs in release 0.14.3.</description>
    </item>
    
    <item>
      <title>release 0.15.0 available</title>
      <link>https://hadoop.apache.org/release/0.15.0.html</link>
      <pubDate>Mon, 29 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.15.0.html</guid>
      <description>This release contains many improvements, new features, bug fixes and optimizations.
Notably, this contains the first working version of HBase.
See the release notes (above) for details.
When upgrading an existing HDFS filesystem to a 0.15.x release from an earlier release, you should first start HDFS with &amp;lsquo;bin/start-dfs.sh -upgrade&amp;rsquo;. See the Hadoop Upgrade page for details.</description>
    </item>
    
    <item>
      <title>release 0.14.3 available</title>
      <link>https://hadoop.apache.org/release/0.14.3.html</link>
      <pubDate>Fri, 19 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.14.3.html</guid>
      <description>This release fixes critical bugs in release 0.14.2.</description>
    </item>
    
    <item>
      <title>release 0.14.1 available</title>
      <link>https://hadoop.apache.org/release/0.14.1.html</link>
      <pubDate>Tue, 04 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/release/0.14.1.html</guid>
      <description>New features in release 0.14 include:
 Better checksums in HDFS. Checksums are no longer stored in parallel HDFS files, but are stored directly by datanodes alongside blocks. This is more efficient for the namenode and also improves data integrity. Pipes: A C++ API for MapReduce Eclipse Plugin, including HDFS browsing, job monitoring, etc. File modification times in HDFS.  There are many other improvements, bug fixes, optimizations and new features.</description>
    </item>
    
    <item>
      <title>Apache Hadoop Release Versioning</title>
      <link>https://hadoop.apache.org/versioning.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/versioning.html</guid>
      <description>Background Apache Hadoop uses a version format of &amp;lt;major&amp;gt;.&amp;lt;minor&amp;gt;.&amp;lt;maintenance&amp;gt;, where each version component is a numeric value. Versions can also have additional suffixes like &amp;quot;-alpha2&amp;quot; or &amp;quot;-beta1&amp;quot;, which denote the API compatibility guarantees and quality of the release. We use &amp;ldquo;a.b.c&amp;rdquo; and &amp;ldquo;x.y.z&amp;rdquo; to denote a dotted version triplet.
Major versions are used to introduce substantial, potentially incompatible, changes. Examples of this include the replacement of MapReduce 1 with YARN and MapReduce 2 in Hadoop 2, and the required Java runtime version from JDK7 to JDK8 in Hadoop 3.</description>
    </item>
    
    <item>
      <title>Apache Hadoop Releases</title>
      <link>https://hadoop.apache.org/releases.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/releases.html</guid>
      <description>To verify Hadoop releases using GPG:  Download the release hadoop-X.Y.Z-src.tar.gz from a mirror site. Download the signature file hadoop-X.Y.Z-src.tar.gz.asc from Apache. Download the Hadoop KEYS file. gpg &amp;ndash;import KEYS gpg &amp;ndash;verify hadoop-X.Y.Z-src.tar.gz.asc  To perform a quick check using SHA-512:  Download the release hadoop-X.Y.Z-src.tar.gz from a mirror site. Download the checksum hadoop-X.Y.Z-src.tar.gz.sha512 or hadoop-X.Y.Z-src.tar.gz.mds from Apache. shasum -a 512 hadoop-X.Y.Z-src.tar.gz  All previous releases of Hadoop are available from the Apache release archive site.</description>
    </item>
    
    <item>
      <title>Bylaws</title>
      <link>https://hadoop.apache.org/bylaws.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/bylaws.html</guid>
      <description>This document defines the bylaws under which the Apache Hadoop project operates. It defines the roles and responsibilities of the project, who may vote, how voting works, how conflicts are resolved, etc.
Hadoop is a project of the Apache Software Foundation. The foundation holds the trademark on the name &amp;ldquo;Hadoop&amp;rdquo; and copyright on Apache code including the code in the Hadoop codebase. The foundation FAQ explains the operation and background of the foundation.</description>
    </item>
    
    <item>
      <title>Criteria for Committership</title>
      <link>https://hadoop.apache.org/committer_criteria.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/committer_criteria.html</guid>
      <description>Committers are responsible for reviewing and integrating code changes. The PMC votes to make a contributor a committer based on an assessment of their contributions to the project. Contributions can be made in many ways, and there is no one route to committership. That said, here are the general criteria that the PMC looks for from all potential committers:
  A history of sustained contribution to the project. This is a way for a contributor to demonstrate their expertise in an area, and thus their ability to help review and commit contributions by others in that same area.</description>
    </item>
    
    <item>
      <title>Description</title>
      <link>https://hadoop.apache.org/description.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/description.html</guid>
      <description>Apache Hadoop
The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.</description>
    </item>
    
    <item>
      <title>Hadoop CVE List</title>
      <link>https://hadoop.apache.org/cve_list.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/cve_list.html</guid>
      <description>This page lists security fixes that the Hadoop PMC felt warranted a CVE. If you think something is missing from this list or if you think the set of impacted or fixed versions is incomplete then please ask on the Security list.
CVEs are presented in most-recent-first order of announcement.
CVE-2020-9492 Apache Hadoop Potential privilege escalation WebHDFS client might send SPNEGO authorization header to remote URL without proper verification. A crafty user can trigger services to send server credentials to a webhdfs path for capturing the service principal.</description>
    </item>
    
    <item>
      <title>Hadoop Issue Tracking</title>
      <link>https://hadoop.apache.org/issue_tracking.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/issue_tracking.html</guid>
      <description>Hadoop tracks both bugs and enhancement requests using JIRA.
We welcome input, however, before filing a request, please make sure you do the following:
 Search the Apache JIRA database. Check the users mailing lists, both by searching the archives and by asking questions.  Jira subprojects:
 Hadoop Common issues are tracked in the HADOOP Jira instance. HDFS issues are tracked in the HDFS Jira instance. YARN issues are tracked in the YARN Jira instance.</description>
    </item>
    
    <item>
      <title>Hadoop Mailing Lists</title>
      <link>https://hadoop.apache.org/mailing_lists.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/mailing_lists.html</guid>
      <description>User The user@ mailing list is the preferred mailing list for end-user questions and discussion.
Please use the specific module&amp;rsquo;s -dev@ mailing list to address developers on a specific technical question. The Hadoop user mailing list is : user@hadoop.apache.org.
 Subscribe to List Unsubscribe from List Archives  中文用户可利用user-zh邮件列表以中文发问
 订阅邮件列表 取消订阅 归档邮件  In order to post to the list, it is necessary to first subscribe to it.
Security The security mailing list is a private list for discussion of potential security vulnerabilities issues.</description>
    </item>
    
    <item>
      <title>Hadoop Version Control System</title>
      <link>https://hadoop.apache.org/version_control.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/version_control.html</guid>
      <description>Overview The Hadoop source code resides in the Apache git repository, and available from here: https://gitbox.apache.org/repos/asf?p=hadoop.git
The changes are also mirrored to the github repository https://github.com/apache/hadoop
Hdfs, Yarn, Mapreduce and other components all are parts of this one repository.</description>
    </item>
    
    <item>
      <title>Modules</title>
      <link>https://hadoop.apache.org/modules.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/modules.html</guid>
      <description>The project includes these modules:
 Hadoop Common: The common utilities that support the other Hadoop modules. Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data. Hadoop YARN: A framework for job scheduling and cluster resource management. Hadoop MapReduce: A YARN-based system for parallel processing of large data sets. Hadoop Ozone: An object store for Hadoop.  </description>
    </item>
    
    <item>
      <title>Privacy</title>
      <link>https://hadoop.apache.org/privacy_policy.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/privacy_policy.html</guid>
      <description>Information about your use of this website is collected using server access logs and a tracking cookie. The collected information consists of the following:
 The IP address from which you access the website; The type of browser and operating system you use to access our site; The date and time you access our site; The pages you visit; and The addresses of pages from where you followed a link to our site.</description>
    </item>
    
    <item>
      <title>Related projects</title>
      <link>https://hadoop.apache.org/related.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/related.html</guid>
      <description>Other Hadoop-related projects at Apache include:
 Ambari™: A web-based tool for provisioning, managing, and monitoring Apache Hadoop clusters which includes support for Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig and Sqoop. Ambari also provides a dashboard for viewing cluster health such as heatmaps and ability to view MapReduce, Pig and Hive applications visually alongwith features to diagnose their performance characteristics in a user-friendly manner. Avro™: A data serialization system.</description>
    </item>
    
    <item>
      <title>Who We are</title>
      <link>https://hadoop.apache.org/who.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://hadoop.apache.org/who.html</guid>
      <description>Apache Hadoop Project Members We ask that you please do not send us emails privately asking for support. We are non-paid volunteers who help out with the project and we do not necessarily have the time or energy to help people on an individual basis. Instead, we have setup mailing lists for each module which often contain hundreds of individuals who will help answer detailed requests for help. The benefit of using mailing lists over private communication is that it is a shared resource where others can also learn from common mistakes and as a community we all grow together.</description>
    </item>
    
  </channel>
</rss>
