Apache Hadoop

hadoop-logo 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.

Learn more » Download » Getting started »

Latest news

This is a release of Apache Hadoop 3.4.1 line.

Users of Apache Hadoop 3.4.0 and earlier should upgrade to this release.

All users are encouraged to read the overview of major changes since release 3.4.0.

We have also introduced a lean tar which is a small tar file that does not contain the AWS SDK because the size of AWS SDK is itself 500 MB. This can ease usage for non AWS users. Even AWS users can add this jar explicitly if desired.

For details of bug fixes, improvements, and other enhancements since the previous 3.4.0 release, please check release notes and changelog.

This is the first release of Apache Hadoop 3.4 line. It contains 2888 bug fixes, improvements and enhancements since 3.3.

Users are encouraged to read the overview of major changes. For details of please check release notes and changelog.

This is a release of Apache Hadoop 3.3 line.

It contains 117 bug fixes, improvements and enhancements since 3.3.5. Users of Apache Hadoop 3.3.5 and earlier should upgrade to this release.

Feature highlights:

SBOM artifacts

Starting from this release, Hadoop publishes Software Bill of Materials (SBOM) using CycloneDX Maven plugin. For more information on SBOM, please go to SBOM.

HDFS RBF: RDBMS based token storage support

HDFS Router-Router Based Federation now supports storing delegation tokens on MySQL, HADOOP-18535 which improves token operation through over the original Zookeeper-based implementation.

New File System APIs

HADOOP-18671 moved a number of HDFS-specific APIs to Hadoop Common to make it possible for certain applications that depend on HDFS semantics to run on other Hadoop compatible file systems.

In particular, recoverLease() and isFileClosed() are exposed through LeaseRecoverable interface, while setSafeMode() is exposed through SafeMode interface.

Users are encouraged to read the overview of major changes since release 3.3.5. For details of 117 bug fixes, improvements, and other enhancements since the previous 3.3.5 release, please check release notes and changelog.

This is a release of Apache Hadoop 3.3 line.

Key changes include

  • A big update of dependencies to try and keep those reports of transitive CVEs under control -both genuine and false positives.
  • Critical fix to ABFS input stream prefetching for correct reading.
  • Vectored IO API for all FSDataInputStream implementations, with high-performance versions for file:// and s3a:// filesystems. file:// through java native IO s3a:// parallel GET requests.
  • Arm64 binaries. Note, because the arm64 release was on a different platform, the jar files may not match those of the x86 release -and therefore the maven artifacts.
  • Security fixes in Hadoop’s own code.

Users of Apache Hadoop 3.3.4 and earlier should upgrade to this release.

All users are encouraged to read the overview of major changes since release 3.3.4.

For details of bug fixes, improvements, and other enhancements since the previous 3.3.4 release, please check release notes and changelog.

Azure ABFS: Critical Stream Prefetch Fix

The ABFS connector has a critical bug fix https://issues.apache.org/jira/browse/HADOOP-18546: ABFS. Disable purging list of in-progress reads in abfs stream close().

All users of the abfs connector in hadoop releases 3.3.2+ MUST either upgrade to this release or disable prefetching by setting fs.azure.readaheadqueue.depth to 0.

This is a release of Apache Hadoop 3.3 line.

It contains a small number security and critical integration fixes since 3.3.3.

Users of Apache Hadoop 3.3.3 should upgrade to this release.

Users of hadoop 2.x and hadoop 3.2 should also upgrade to the 3.3.x line. As well as feature enhancements, this is the sole branch currently receiving fixes for anything other than critical security/data integrity issues.

Users are encouraged to read the overview of major changes since release 3.3.3. For details of bug fixes, improvements, and other enhancements since the previous 3.3.3 release, please check release notes and changelog.

Modules

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.

Who Uses Hadoop?

A wide variety of companies and organizations use Hadoop for both research and production. Users are encouraged to add themselves to the Hadoop PoweredBy wiki page.

Related projects

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.
  • Cassandra™: A scalable multi-master database with no single points of failure.
  • Chukwa™: A data collection system for managing large distributed systems.
  • HBase™: A scalable, distributed database that supports structured data storage for large tables.
  • Hive™: A data warehouse infrastructure that provides data summarization and ad hoc querying.
  • Mahout™: A Scalable machine learning and data mining library.
  • Ozone™: A scalable, redundant, and distributed object store for Hadoop.
  • Pig™: A high-level data-flow language and execution framework for parallel computation.
  • Spark™: A fast and general compute engine for Hadoop data. Spark provides a simple and expressive programming model that supports a wide range of applications, including ETL, machine learning, stream processing, and graph computation.
  • Submarine: A unified AI platform which allows engineers and data scientists to run Machine Learning and Deep Learning workload in distributed cluster.
  • Tez™: A generalized data-flow programming framework, built on Hadoop YARN, which provides a powerful and flexible engine to execute an arbitrary DAG of tasks to process data for both batch and interactive use-cases. Tez is being adopted by Hive™, Pig™ and other frameworks in the Hadoop ecosystem, and also by other commercial software (e.g. ETL tools), to replace Hadoop™ MapReduce as the underlying execution engine.
  • ZooKeeper™: A high-performance coordination service for distributed applications.