Apache Hadoopの現在と未来。YARNもHDFSも新しいハードウェアに対応して進化していく。Hadoop Spark Conference Japan 2016
分散処理基盤として普及をはじめたHadoopとSparkをテーマにした国内最大のカンファレンス「Hadoop Spark Conference Japan 2016」が2月8日に都内で開催されました。
基調講演として行われたセッションの1つ「Apache Hadoopの現在と未来」では、Hadoopコミッタの小沢健史と鯵坂明氏が登壇。YARNとHDFSにフォーカスし、現状と将来像を紹介しています。セッションの内容をダイジェストで紹介します。
YARNはCPUだけでなくGPGPUやFPGAなどにも対応していくだろう
Hadoopコミッタの小沢健史氏(写真中央)。
Hadoopには3つコンポーネントがあって、1つはMapReduce。これは最初からHadoopに入っていた、並列分散処理を実行するためのミドルウェア。広く商用利用されており、処理系としても安定しています。
HDFSは大量のデータを保持するためのミドルウェアで、MapReduceだけでなく、そのほかの並列分散処理ミドルウェアからも幅広く利用可能になっています。
真ん中のYARNが新キャラで、Hadoop2では標準で入っています。計算機リソースの管理をするためのミドルウェアです。
YARNの現状と未来についてお話していきます。
YARNはもともとはHadoopの計算機リソース管理を汎用化するための手段として開発が始まり、現在ではMapReduceを起点として、ほかのさまざまな並列処理基盤を実行するような使い方が中心です。
どういうことかというと、SparkやTezが出てきたというときに、例えばSparkを使うけれども、もしその処理がこけてしまったらMapReduceにフォールバックする、といったことができます。
これはYARNが処理系のマスタを管理するというアーキテクチャになっているので、TezやSparkのjarをコピーするだけで動作するようになっているからです。これによって、得意なことを得意なものにやらせる実行基盤がついに揃ってきたのかなと思います。
Hadoopを取り巻く状況としては、かなりいろいろな分散処理用ミドルウェアが普及してきました。
バッチ処理ではSQLに似た言語による記述が主流になっていて、MapReduce APIを叩くのではなく、DSL(Domain Specific Language:用途特化型言語)からの変換に任せてしまうのが普通になってきています。
FlinkやDataFlowのような、バッチ処理とストリーミング処理を透過的に扱えるような言語や、機械学習に特化した高水準言語なども出てきています。
YARNは現在の並列処理用ミドルウェアを対象とし、CPU、メモリ、ディスクを中心とした処理に焦点を当てています。一方でGPGPUやFPGAなどを利用したミドルウェアなどが登場しています。
例えばSystemMLやTensorFlowは高速に機械学習を実行するためにGPUを利用しています。
YARNもこうした要求やハードウェアの進化に合わせて、CPUだけじゃなくてGPGPUやFPGなどのさまざまなリソースが扱えるようなデータセンターOSとして進化をしていくと考えています。
HDFSもSSDへの対応やセキュリティの向上などを実現
Hadoopコミッタの鯵坂明氏。
HDFSにも新しい機能が追加されています。例えばHDFSにデータを書き込む際には、速く処理したいデータはSSDに、それ以外のデータはHDDに書き込むことができるようになりました。
また中間データのような速く読み書きしたいデータをメモリにだけ書き込むことで高速化する機能も追加されています。
セキュリティや運用に関しても、これまでよりきめこまかいアクセス制御やデータの暗号化などを実現しています。これまではノードのデータに直接アクセスすると読めたのが、暗号化したことで読めなくしました。
これらによって、これまでHadoopが使えなかった領域でも使えるようになってきました。
HDFSもYARNと同様に、ハードウェアなどの進化に対応してこれからもさらなる進化を続けていくのかなと考えています。
Hadoop Spark Conference Japan 2016
あわせて読みたい
Spark 2.0はフロントエンドAPIの創設と10倍の性能向上を目指す。早くも今年の5月頃登場予定。Hadoop Spark Conference Japan 2016
≪前の記事
ビルドやテスト環境の自動化は顧客の一声でつぶされてしまった/本番環境などという場所はない/IoTも描けるアイコンセット、ほか。2016年1月の記事ランキング