BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース YARNで強化されたHadoop

YARNで強化されたHadoop

原文(投稿日:2013/10/23)へのリンク

Hadoop 2が利用可能になった。このバージョンでYARNが導入され、Hadoop上でデータ処理アプリケーションを動かせるようになった。

YARNによって、HadoopはMap-Reduce以外にもデータ処理の門戸を開く。データ処理とクラスタリソースマネジメントを分離したからだ。これによって、多くのプロジェクトが実現可能になった。StingerやTezのようなプロジェクトは特定のシナリオで人間が対処できる応答時間を目指そうとしている。Springはすでに、YARNアプリケーションを開発したいと思っているJava開発者向けにSpring YARN frameworkを発表した。Hadoopのストレージとクラスタマネジメントプラットフォームを利用することで、データ処理アプリケーションを使うユーザは複数の方法でデータを扱えるようになる。

私たちはHortonworksのプロダクトマネージャであるRohit Bakhshi氏にYARNについて、そしてYARNがHadoopユーザにとってどのような意味を持つか、話を聞いた。

Rohit氏はYARNが実現することの概略を教えてくれた。

Hadoopの勢いは衰えず、多くの企業がすべてのデータをHadoopで保持し、ユーザが多くの異なる方法で利用できるようにしたいと考えています。たとえば、バッチ処理やインタラクティブな操作、データストリームの分析などです。そして、もっとも重要なのはこれらをすべて同時に実行し、単一のアプリケーションやクエリがすべてのリソースを利用し尽くさないようにすることです。

Apache Hadoop 2.0をマルチアプリケーションデータシステムにすることで、YARNはHadoopコミュニティが新しい世代の要求に対応できるようにします。YARNは根本的なレベルの要件に対処することで、このような企業の課題に答えたのです。

今後は、企業はマルチテナントの多目的のHadoopを構築し、異なる組織やアプリケーションフレームワークのSLAを満たすことができるでしょう。

YARNはバイナリレベルでmapred apiを使っているアプリと互換性があるが、Hadoop 1.xのmapreduce apiを使っているアプリとはソースレベルの互換性しかない。氏はこれが何を意味するか教えてくれた。

Hadoop 2.0では、クライアントはMapReduceアプリケーションをYARN上で動作するMapReduceバージョン2へサブミットします。Hadoop 1.0では、MapReduceバージョン1へサブミットしていました。

これらのAPIはMapReduceフレームワークを参照しており、開発者はこのフレームワークを使ってMapReduceアプリケーションを作ることができます。org.apache.hadoop.mapredはオリジナルのAPIでMapReduceアプリケーションを作るのにもっとも幅広く利用されています。このAPIを使ったMapReduceバージョン1のアプリケーションはYARN上のMapReduceバージョン2にもサブミットして実行できます。この場合は変更の必要はありません。

org.apache.hadoop.mapreduceは新しいAPIです。こののAPIはMapReduceバージョン2とYARN上のMapReduceバージョン2の間でバイナリレベルでの互換性はありません。既存の MapReduceバージョン1のアプリケーションでこのAPIを使っている場合はHadoop2.xのHadoopのjar向けに再度コンパイルする必要があります。

この件については、ここで詳しく解説されている。

既存のHadoopクラスタを更新するのも、単純そうだ。

HadoopとHDP(すべてのApache Hadoopコンポーネントを含む)はHDP 1.3からHDP 2.0へ"インプレイス"でアップグレードできます。既存のデータはすべて保持され、メタデータは正しく更新される。移行の必要はありません。しかし、構成情報は進歩しており、利用が非推奨になっている属性や新しく追加した属性があるので、HDP 1.3からHDP 2.0へのマイグレーションが必要です。

企業が小さなデータセットを処理するためにHadoopの未熟な使い方をする心配はないか、と尋ねたところ、氏は別の見方をしているようだ。

Hadoopはさまざまな使い方をされています。オープンソースなので、あらゆる利用方法があるのです。これは'未熟'ということではありません。多くの組織は少ないノードでクラスタを組み数テラバイトを処理するという使い方でHadoopを使い始めます。しかし、そのような環境は成長し続け、データの湖が出来上がり、モダンなデータアーキテクチャになるのです。小さなクラスタは'未熟'ではありません。種なのです。

公式のアナウンスで更なる詳細が確認できる。

この記事に星をつける

おすすめ度
スタイル

BT