日々進化するHadoop。これまでのおさらいと最近の動向(後編)
Hadoopとはどういうソフトウェアであり、いまどのような状況になっているのか。NTTデータの濱野賢一朗氏が、先日行われた第2回 NHNテクノロジーカンファレンスで行われたセッション「日々進化するHadoopの『いま』」で分かりやすく解説しています。
(本記事は「日々進化するHadoop。これまでのおさらいと最近の動向(前編)」の続きです)
Hadoopの1.0系と2.0系
Hadoopの開発はかなり活発に進んでいます。
Hadoopでいちばん分からないといわれるのがバージョンで、これは以前からHadoopに接している私たちでもよく分からないくらいです。
Hadoopのバージョンには大きく二系統あって、少し前まで0.20系と呼ばれていたもので、これが現行は1.0系と呼ばれています。もうひとつが0.21、0.22、0.23系と呼ばれていたもの、これがいま2.0系と呼ばれています。
対外的には1.0が安定版で2.0が新機能開発版となっていますが、必ずしもそうなっていなくて、Hadoopを使っている人の多くClouderaのCDHを使っていると思いますが、CDH3と呼ばれるものが1.0系に相当し、最近リリースされたCDH4が2.0系に相当します。
なのでCDH4はそろそろみなさん試し始めていると思いますが、けっこう、その、斬新な作りになっていると思うので(笑)、手堅くやりたい方はCDH3をお薦めします。
会場にCloudera関係者がいっぱいいるので、なんかやりにくいですが(笑)
NameNodeをHA化する
2.0系で新しく入ってきてる機能として、NameNode HAとかHDFS FederationとかYARNとか言われているものを簡単に紹介したいと思います。
Hadoopでよく言われるのが「SPOF(Single Point of Failure、単一障害点)なんでしょ? NameNodeが止まると全体が止まるんでしょ」です。従来から、HA(高可用性)用のソフトウェアと組み合わせることでHA化することを紹介していますが、 Hadoop自体でHA化する取り組みも進んでいます。
いまは暫定的にNFSをベースとした構成が採用されていますが、今後は共有ディスクを利用しない実装も予定されているので、その辺は期待かなと。
複数の名前空間を持てるHDFS Federation
HDFS Federationは意外と日本では説明されていないようなのですが、これをいい加減に説明すると、Hadoopでボリュームのような概念を実現するものだと思ってください。
いままでだとHadoopクラスタって、ファイルシステムの名前空間が1個しかなくて、誰かと共有したいときにはディレクトリを分けてパーミッションなりACLをうまく調整してね、というアーキテクチャになっていました。
HDFS Federationという機能はデータを置く部分のブロックストレージの部分とネームスペースの部分の概念をいったん切り離して、その上で連係するように作られているので、ひとつのクラスタに対して複数の名前空間で管理できるようになります。
これはマルチテナントの実現に必要とされる要素のひとつと言えると思います。
YARNは端的に言うとHadoopのアーキテクチャ変更です。
ことの発端は、Yahoo!が「いまのHadoopは4000ノードしかスケールしない」と言い始めたことで、1万ノードくらいまでスケールさせたいのでアーキテクチャを変えるんだ、ということでした。
MapReduce以外の分散フレームワークのサポート「YARN」
YARNの狙いには、JobTrackerやTaskTrackerの構成を変えてもっとスケールするように作り替えるということと、Hadoopの世界でMapReduce以外の分散処理フレームワークも実行させる、という2つがあります。
当初はMapReduce 2.0という名前でしたが、MapReduce以外もサポートするぞと言っているのにMapReduce 2.0という名前が付いているのは変なので、YARNという名前にするぞとなったわけです。
Hadoopの登場で分散処理が普及してきた
最後にまとめると、Hadoopは新しいバージョンがどんどん出てきていて、やや混乱していますと。Hadoop自体の成長もありますしエコシステムの成長もめまぐるしくてけっこう大変です。
分散処理は20年くらい前からあったのですが、これまでなかなか浸透していませんでした。それがHadoopが出てきて並列分散処理をみんなやるようになってきたし、最近では機械学習のような比較的高度な分析手法も普及しつつあります。
インフラ的な観点で言うと、Hadoopのようなものがユーザーの身近に来たことで、かなりサーバの台数が多い中での運用のスケーラビリティの追求も始まったなどが面白い点かなと思います。
また、今年度もHadoopカンファレンスをやる予定です。詳細は近日発表予定ですのでお楽しみに。ご静聴ありがとうございました。
公開されているビデオとスライド
セッションの様子は以下のビデオとして公開されています。
スライドも公開されています。
第2回 NHNテクノロジーカンファレンスのそのほかのセッションは、「第2回 NHNテクノロジーカンファレンス 開催ログ」にまとめられています。Hadoopのさらに突っ込んだセッションなどがありますので、興味のある方はぜひ参照してみてください。