Apache Hadoop の現在と将来
Apache Hadoop committer, PMC member
Tsuyoshi Ozawa, Akira Ajisaka
Hadoop とは
並列分散処理を実現するミドルウェア
複数のサーバを束ねて,ひとつの大きな処理システムと して利用するためのミドルウェア
• HDD 1台では 100 MB /sec の読み書きが限界
• 1TBの読み込みに 10000 秒 = 2.7時間かかる
• データの高速な読み込み、書き込みのために並列処理を利用
Hadoop 本体の構成要素と現状
MapReduce
• 並列分散処理を実行するためのミドルウェア
• 広く商用利用されており,処理系として安定している
‐ 巨大なデータを対象としても安定して動作
YARN
• 計算機リソースの管理を行うためのミドルウェア
HDFS
• 大量のデータを保持するためのミドルウェア
• MapReduce だけでなくその他の並列分散処理を 実行するためのミドルウェアなどから広く利用可能
YARNの現状
もともとは Hadoop の計算機リソース管理を 汎用化するための手段
現在では、安定し MapReduce を起点として、 他の様々な並列処理基盤を実行するような使い方が中心
なぜか?
• YARNがマスタを立ち上げるため Tez や Spark の jar を計算機にコピーするだけで動作する
• 得意な処理だけを実行できるような基盤ができた
Hadoop を取り巻く現状
Hadoop を皮切りとして、様々な分散処理用 ミドルウェアが普及
Apache Hadoop, Apache Tez, Apache ZooKeeper, Apache Oozie, Apache Spark, Apache Storm, Apache HBase, Apache Pig and the logos are trademarks of The Apache Software Foundation.
分散処理ミドルウェアのインタフェース
バッチ処理では SQLに似た言語による記述が主流
• HiveQL/Pig Latin/ Spark DataFrame など
• MapReduce API を直接実装することは希になりつつある
バッチ処理とストリーミング処理を透過的に扱えるような 言語が登場
• Apache Flink、 Google DataFlow など
機械学習に特化した高水準言語も登場
• Apache SystemML 、Google TensorFlow
機械学習用の 言語
ストリーミングと バッチを透過的に
扱う言語 SQL
Spark MapReduce Tez
多種多様な分散処理ミドルウェアの登場
現在の並列処理ミドルウェアは CPU、メモリ、ディスクを中心とした処理に焦点
一方で、高水準言語の中で CPU だけでなく GPGPU や FPGA などを利用したミドルウェアが登場
• Apache SystemML、 Google TensorFlow
‐ 高速に機械学習を実行するために、GPU を利用
• Microsoft Project Catapult
‐ Microsoft の機械学習基盤
‐ FPGA を用いてトータルスループットを2倍に、 TCO を削減
YARN はどうなっていくか?
YARN の将来
YARN は現在の並列処理ミドルウェアを対象とし、 CPU、メモリ、ディスクを中心とした処理に焦点を あてている
一方で、CPU だけでなく GPGPU や FPGA などを 利用したミドルウェアやアーキテクチャが登場
• Apache SystemML、 Google TensorFlow、Project Catapult
YARN も GPGPU や FPGA を含む様々な計算リソースを扱えるようなデータセンターOSとして さらなる進化を遂げていく
HDFS の現状と将来
ここ1~2年で、様々な機能が追加された
性能: 安価になったSSDやメモリを活用する
• 異なる種類のストレージが混在した構成に対応
• メモリをストレージとして扱う
セキュリティ/運用性: Hadoop自体の適用領域を広げる
• POSIX ACLs: よりきめ細かいアクセス制御
• データの暗号化
• ローリングアップグレード
セキュリティ/運用性の向上で適用領域を広げつつ、YARNと同様、ハードウェアの進化に応じてさらなる進化を遂げていく
Hadoopの開発コミュニティ
1つの指標として、2015年の変更コード行数を集計
• ディストリビュータである Hortonworks、Cloudera の他に、 Huawei も多大に貢献している
• 日本では NTT、NTTデータ、Yahoo! Japanによる貢献が大きい
~ ~ ~ ~
http://ajisakaa.blogspot.com/2016/01/the-activities-of-apache-hadoop.html
日本の開発者のみなさまに感謝!
NTT • Tsuyoshi Ozawa • Kenji Kikushima • Akihiro Suda
NTT DATA • Masatake Iwasaki • Akira Ajisaka • Kengo Seki • Shinichi Yamashita • Kousuke Saruta
Treasure Data • Kai Sasaki • Ryu Kobayashi • Johan Gustavsson
Yahoo! Japan • Takanobu Asanuma • Hui Zheng • Takuya Fukudome • GAO Rui • Keisuke Ogiwara
Cloudera • Daisuke Kobayashi
Fujitsu • Kazuho Fujii
Cloudian • Takenori Sato
2015年にissueを1件以上fixした日本の開発者一覧
Hadoopをよりよくしていきたい
もっとHadoopを使いやすくするために 我々ができることとは...
メンテナンスリリースの継続
• 現状、2.6系と2.7系はメンテナンスされている
• 今後も、2バージョン以上のメンテナンスを継続したい
Java 8/9 対応
新しいハードウェアを意識した高速な処理基盤の実現
• SSD
• GPGPU
• NVMe SSD
• インターコネクト
Hadoopの開発者をもっと増やしたい
• コミュニティをもっと盛り上げたい
Hadoopのユーザコミュニティ
前回の講演資料より
いま、どの程度広まっているのか?
YARNは着実に広まっている
アンケート結果を紹介
• YARNを使っている ... 547人
• YARNを使っていない ... 298人
• Hadoopを使っていない ... 448人
YARNを使っている人が利用している処理基盤 • 注意: YARN上で動作させているとは限らない
0100200300400500
YARNユーザの 80%以上がHive,
Sparkを利用
まとめ
Sparkなどの新しい分散処理基盤が広まり、 Hadoopは埋もれがちのように見える
だが、Hadoopはハードウェアの進化に追従する形で着実に進化を続けている
日本の開発者が増え続けているのは良いこと
もっと開発コミュニティを盛り上げていきたい
日本でもYARNが広まりつつある
ぜひ使ってみて、コミュニティにフィードバックしてほしい