Apache Hadoop とは?

Apache Hadoop

Apache Hadoop最新情報

NRIのOpenStandiaが提供するApache Hadoop最新情報

OSSの保守サポートサービスの内容はこちら OSSの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Apache Hadoopバージョンアップ情報

■2017-06-27
[VerUP]Apache Hadoop 2.6.1(リリース日:2015/07/06)
■2017-06-27
[VerUP]Apache Hadoop 2.6.2(リリース日:2015/10/28)
■2017-06-27
[VerUP]Apache Hadoop 2.6.3(リリース日:2015/11/17)
■2017-06-27
[VerUP]Apache Hadoop 2.6.4(リリース日:2016/02/11)
■2017-06-27
[VerUP]Apache Hadoop 2.7.3(リリース日:2016/08/25)
■2017-06-27
[VerUP]Apache Hadoop 2.6.5(リリース日:2016/10/08)
■2017-06-27
[VerUP]Apache Hadoop 2.8.0(リリース日:2017/03/22)

すべてを見る

更新日:2022-05-26

Apache Hadoopの概要

Hadoop(ハドゥープ)は大規模データの蓄積、分析を分散して処理するフレームワークであり、Java言語で実装されています。
Hadoopの元となったのはGoogleの大量のデータを効率的に処理するための分散処理基盤であるMapReduceとGoogle File Systemです。

Googleがこれらシステムに関する論文を2004年に公開し、それを参考にDoug Cutting氏、Mike Cafarella 氏らにより開発されました。Hadoopという名前は、Doug 氏の息子が、黄色い象さんのぬいぐるみに付けた名前から来ており、意味を持たず、簡単で、他で使われていないという理由により、採用されました。黄色い象さんは Hadoop のマスコットキャラクターにもなっています。

Hadoopは分散処理基盤であることから、各処理をクラスタ内のマシンに振り分けて(Map)、各マシンで処理された結果を集約(reduce)して最終的な結果を得ます。
近年、大量のデータ(BigData)の中から目的のデータを抽出したり、保存されたデータからある傾向を読み取るといった、データマイニングへのニーズが高まっています。また、ただBigDataを処理できるだけでなく、より短時間にそれらの情報を算出したいといった要求が発生してきています。
以前は、BigDataを処理するにはデータウェアハウスなど専用の製品を使う必要がありました。Hadoopはこのようなデータ処理を、一般的なサーバマシンを複数つなげ合わせる(スケールアウト)ことで可能にします。

複数のサーバから構成されるHadoopシステムですが、複数台に分散していることがシステムの柔軟性を高めています。処理性能を向上させたい場合には、Hadoopクラスタにマシンを追加するだけ済みます。Hadoopクラスタシステムは一般的なサーバマシン群から構成できるため、ハードウェアの調達が容易です。また、ソフトウェア的にも、クラスタへ追加するサーバにHadoopシステムをインストール・設定するだけで、Hadoopクラスタをスケールアップできます。このような特徴から、ハードウェア、ソフトウェアの両面でスケーラビリティが高いといえます。

近年、クラウドサービスを使って簡単に複数台のサーバを立ち上げられるようになったことから、Hadoopを使ってデータ処理を行いたい時だけクラウド上にHadoopクラスタを構築できます。さらに、性能が不十分であればサーバを追加したり、リソースが余ってきたらサーバを減らし、一通りの処理が終了した時点でHadoopクラスタの全マシンを開放するなどといった使い方もできるため、これから益々利用されるシーンが増えてくると考えられます。

Hadoop 1系までは、MapReduceのみだった並列処理フレームワークですが、Hadoop 2系からはStorm、Spark、Tez/Impalaなどの他の並列処理フレームワークを利用できるようになりました。また、Hadoop上にあるデータへのMapReduce(Java)以外での処理インターフェースが増えました。例えばImpalaや、Tez上で動くHiveやPigによって、ユーザは使い慣れたSQLとほぼ同等なクエリを使ってデータへアクセスできます。さらに、StormやSparkではストリーミングによってリアルタイムデータの処理が可能となり、HDFS上に存在するデータ以外でもHadoopシステムを利用できるようになっています。

TOPに戻る

Hadoopの特徴

Hadoopは下記の4つのCoreモジュールから成り立っています。

  • Hadoop Distributed File System (HDFS)  
  • Hadoop MapReduce
  • Hadoop Common
  • Hadoop YARN

また、以下の2つのHadoopプロジェクトより独立したモジュールが存在しています。

  • Apache Ozone
  • Apache Submarine

HDFS(Hadoop Distributed File System)

Hadoop独自の分散ファイルシステムです。ユーザからは1つの大きなファイルシステムとして見えますが各ノードにまたがってファイルを保存しています。1つのノードに障害が起こってもデータの欠損が無いようにデフォルトで3つのノードに同じデータを保持(3重化)しています。

MapReduce

分散されたデータに対して、並列的に処理を実行するためのフレームワークです。Mapステップでは各スレーブノードのデータに対して処理を行い、ReduceステップにてMapステップで複数ノードに分散・実行された処理結果の集約が行われます。

Hadoop Common

Hadoopの機能をサポートするユーティリティ群です。

YARN(Yet Another Resource Negotiator)

Hadoop 1系までは、独立したコンポーネントではありませんでしたが、Hadoop 2系からはリソース管理を専用に行うモジュールとして独立化しました。MapReduceのリソース、ジョブスケジューリングのみならず、Giraph、Storm、Spark、Tez/Impalaなどの他の分散処理フレームワークのリソース管理も可能になりました。

Apache Ozone

Hadoop上で、分散オブジェクトストアを実現するためのプロジェクトです。数千億レベルのファイルやブロックにも拡張できるように設計されており、YARNやKubernetesなどのコンテナ環境での動作もサポートします。S3やHadoop File System APIなど複数のプロトコルを使用してアクセスが可能です。元は Hadoop のサブプロジェクトでしたが、Apache トッププロジェクトの一つとして独立しました。

Apache Submarine

YARNのようなリソース管理プラットフォーム上で、ディープ・ラーニング・アプリケーション(TensorFlow、PyTorch、MxNetなど)を動作可能にするためのプロジェクトです。元は Hadoop のサブプロジェクトでしたが、Apache トッププロジェクトの一つとして独立しました。Hadoop 2.7.3以上で利用可能です。

TOPに戻る

Hadoopのユースケース

Hadoopは、MapReduceの代わりに、より高速で処理を行えるApache Sparkを使用することが出来ます。詳細はこちら(https://openstandia.jp/solution/hadoop-spark/ )をご参照ください。

TOPに戻る

Hadoopの動作環境

Hadoopは、Java言語で作られているため、JVMが必要です。2022年4月現在のステーブルバージョンであるHadoop 3.3.2では、Java 8及びJava 11をサポートします。JVMが動作する環境であれば、OSは問いません。

Hadoopが動作するOS

  • 主要なLinuxディストリビューション
  • Window
  • MacOSX

など

Hadoopは、OpenJDKにおいて正常動作することが確認されています。それぞれのJDKにおける動作検証結果は下記のHadoop Wikiページを確認してください。
https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions
Hadoopは、コンパイル済みのバイナリパッケージと、ユーザが自身でコンパイルするソース版の両方が提供されています。
コンパイル済みのバイナリパッケージはすぐに使うことができるようになっている反面、拡張できない設定もあるため、ユーザが必要な機能を有効にするにはソースからビルドする必要がある場合もあります。

TOPに戻る

Hadoopのライセンス

HadoopはApacheのトップレベルプロジェクトの1つです。ライセンスはApache License 2.0となっており、ユーザはそのソフトウェアの使用や頒布、修正、派生版の頒布をすることに制限を受けません。

TOPに戻る

Hadoopの公式サイト

Hadoopの公式サイトは下記URLです。
http://hadoop.apache.org/
また、Hadoop の公式Wikiページでは、Hadoopに関するさまざまな情報が存在します。
https://cwiki.apache.org/confluence/display/HADOOP/Home

TOPに戻る

Hadoopのダウンロード

https://hadoop.apache.org/releases.html

TOPに戻る

Hadoopのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO