HadoopTimes

実践 機械学習:レコメンデーションにおけるイノベーション
技術情報

Hadoopのベテランによる実体験

僕のことを、特定のテクノロジーに偏っているという人がいる。全く正しいと思う。確かに、それは特定のテクノロジーに依存している。けれども、僕が特定のテクノロジーに偏っているかもしれないというだけでは、僕が客観的や公平でないということにはならない。
Hadoopに関しては、Apache Hadoopは本当に無料だ。でも、実際には、エンジニアを大量に抱える大企業でない限り、社内運用のために自社独自のHadoop ディストリビューションのパッチをあて、構築するなんてそう簡単ではないだろう。誰が何と言おうと、Hadoop ディストリビューションのサポートに費用を何らかの形で払っていれば、真に無料とは言えないのだ。
僕が2009年に最初に始めたHadoop ディストリビューションは、Clouderaだった。当時、唯一のサポート付きHadoop ディストリビューションだったからだ。Clouderaで交流した人々とは良い経験をさせてもらったが、結局は、Apache Hadoopの設計には、本当に苦労させる固有の欠陥があることも知った。
Hadoopはすぐに大きな潜在能力を示したので、誰もがHadoopを次のハンマーにしたいと考えた。僕は、RDBMS ハンマーは長期間使用されていたので、皆のHadoopを道具箱の中の「ハンマー」にしたいという反応は自然だと思った。結局、企業がデータの不規則な広がりを防ぎ、全ての領域にわたってデータ処理のためデータを一つの場所に配置できるようにするのは、実は形勢を一変させるテクノロジーなのだ

僕の経験と将来の選択

Hadoopに関してすぐ気付いたのは、このプラットフォームにはいくつか深刻な制限があるということだった。例えば、NameNodeは設計上の単一障害点だった。僕の最初の実装では、NameNode障害があって、40人のエンジニアで2日間のエンジニアリング時間を要した。更に、実装が前進し始めて少しばかり形になってきた時、小さなファイルを大量にシステム内に置き始めた人がいて、ファイルシステムは突然容量オーバーになった。この後始末と問題の解決に、更に1~2日間のエンジニアリング時間を費やした。MapRは、 NameNodeを除去することでこの問題を解決した。
だから、僕が再度の機会を得た時、Hadoopのクラスター構築には一度苦労したため、自分の事業の中核能力に集中して、Hadoopは問題解決のツールとして活用したいと考えた。Hadoopの欠陥や制限を迂回するためにエンジニアリング資源を無駄遣いしたくなかった。MapRは研究開発期間を終えて製品が公になり、ClouderaのHadoop ディストリビューションを利用する際に直面した全ての問題を解決してくれた。MapRは、グーグルが企業成長に用いたコンセプトを取り入れて、どんな事業でもグーグルのような規模で運営することを可能にしてくれた。
僕のHadoop経験を踏まえて、企業プラットフォームに対する僕の事業ニーズや僕の雇用主の要求にとって最も重要だと思った違いを詳述する価値があると思う。

追加のみ(Append-only)のファイルアクセスvsランダム読み込み・書き込み可能なファイルアクセス

追加のみ(Append-only)のアクセス動作しか実装していないために、HDFSは深刻な制限を受けている。もしHadoopで作動させるタスクがウェブの索引付けだけなら、これでも良かっただろうが、そうではなかった。このせいで、多くの実際のアプリケーションに制限がかかり、HBase等、下流プロジェクトに迂回を強いた。HBaseは、ピーク時に起これば生産システムを麻痺させ得る、トゥームストーンやコンパクションといった概念を実装した。MapRは、GoogleのBigTableを模倣し、HBaseのAPIをサポートするMapR-DB–リアルタイム、管理無しのデータベースの作成によりこれらの問題を解決した。

システム・インテグレーション

セキュリティは、真正性確認と認証だけでなく、ワイヤレベルセキュリティや、真のマルチテナント機能が必要だ。僕は、Apache Hadoopでどうセキュリティを確保するか模索して、数百時間を費やした人々を知っている。Apache Hadoopにはセキュリティのサポートが不足しているため、クラスタを分離してデータを無秩序に展開することを経験し始めたが、元来まさにこれを防止するためHadoopは設計されたのだ。
標準の存在には理由がある。標準により、相互運用と置き換えが可能になる。例えば、NFSPOSIXを考えよう。HDFSは、POSIXにもNFSにも準拠していない。HDFSにどんなファイルがあるか調べるためには、ファイルシステムへの問い合わせでHDFS コマンドラインインターフェースを経由しなければならない。MapRファイルシステム(MapR-FS)は、POSIXに準拠した実際のOSレベルのファイルシステムだ。他のファイルシステム上に位置するファイルシステムではない。もし分散ファイルシステム上でファイルを見たければ、LSコマンドを打つだけだ。ファイルを編集したい?すればいい。特別なツールは必要ない。NFSマウントに読み書き可能なLinux のアプリケーションなら、MapR-FSに読み書きできる。実際、誰がこれらをどう一緒に動かせるか、模索に時間を使いたいだろうか?MapRは、事業で標準ファイルシステムのプロトコルを使う市販の全てのアプリケーションの参入障壁をなくすことができる。Apache Hadoopのジョブ出力を見直したい時何が起こるだろうか?一般に、HDFSからデータをコピーしなければならない。MapRなら、標準ファイルシステムなのだから、その場でデータにアクセスするだけだ。

バックアップとリカバリ

Apache Hadoopが物足りないもう一つの大きな分野は、災害復旧とバックアップだ。私たちは皆間違いを犯すので、そういうものとして計画を立てなければならない。Hadoopのデータ複製で、ディスク故障からは保護されるが、データ破損や人的ミスからは保護できない。もしデータの一片を破壊したら、他2か所に複製されるので全ての場所で全て破壊される。本番環境に新ソフトウェアを導入する場合、少し注意深くなり、新コードを動かす前にデータのスナップショットを取っておきたいかもしれない。Apache Hadoopのスナップショットのことではない、というのも、標準Hadoopのスナップショットはメタデータのコピーだからだ。僕が言いたいのはMapRスナップショットで、これはファイルが書き込み中であっても、その時点のデータのほぼ瞬時で取得できるコピーだ。つまり、データを破損したら、またはうっかり消してしまったら、スナップショットから取り戻すことができるのだ。そして、そう、MapR-DBテーブルのスナップショットを取れる。こうした能力は見逃せない。

メンテナンスとアップグレード

優れた企業アプリケーションは、一般的なメンテナンス・管理・アップグレードをしなければならない。Hadoopも例外ではない。貴方の使うディストリビューションで新しいリリースがあり、Hiveの一バーションしかサポートしていなかったら、どうなるだろう?そのサポートしているHive のバージョンが、貴方の使用中のAPI を壊してしまうとしたら、どうなるだろう?どうやってプラットフォームをアップグレードするだろうか?問題を解決できたと思った時、他のチームにも同じクラスタのこの技術を使っている人がいて、アップグレードのために変更を行う時間を調整できなければどうなるだろう?これらは全て、現実に起こることだ!MapRは各リリースで、多くのオープンソースのプロジェクトの、複数のバージョンをテストしている。MapRは、同一クラスターにおけるソフトウェアの複数バージョン動作をサポートしている唯一のディストリビューションだ。

無偏向のオープンソース

どのオープンソース・ソフトウェアプロジェクトを事業上の問題解決のために利用すべきか、もしくはすべきでないか、貴方のHadoop・ベンダーの立ち位置はどうか?結局、オープンソースのコミュニティ内で同じ位置を巡って競争しているプロジェクトは、実に最高の資本主義なのだ。それがDrillPigImpalaSparkSQLHiveもしくはTezであろうと、貴方は欲しいプロジェクトを選ぶ力を持つべきだ。貴方を犠牲にしてベンダーに政治的に行動させてはならない。MapRはオープンAPIをサポートしており、Hadoop上オープンソース・ソフトウェアの偏向していないセットを有している。

性能

2012年、MapRはTeraSortベンチマークを実施した。これは、1TB のデータがどれだけ速くソートできるか計測するものだ。MapRは、Google Compute Engine(仮想化環境!)の1,003ノードで、54秒という記録を出した。その前は、Yahoo!が1,460ノードで62秒の記録を持っていた。約33%小規模なハードウェアで、動作は15%速いというわけだ。
それから、MinuteSort テストもある。Yahooは、1分間に2200のサーバで1.6TBのデータをソートという記録を保持していた。2014年初め、MapR顧客がMinuteSortテストを実行し、298ノードのクラスターで1.65TBのデータをソートした。ハードウェア規模は7分の1だ。これは大きな差だ!

最後に

MapRチームに加わる前、ある理由から、異なる2社で僕はMapRの顧客だった。さあ、貴方が企業を無料―ただしサポートなし―のHadoop ディストリビューションを利用して運営するかどうかは、貴方が決めることで、僕は止めない。もしこの道を選ぶなら、MapR がどのHadoop ディストリビューションより多くの標準をサポートしており、貴方とその組織が無料のMapR M3 Community Editionを利用して改善できることを必ず覚えておいてほしい。市場に出回るどのHadoop ディストリビューションより速く、より多くを貴方に提供できる。
Hadoopに関して企業が経験を蓄積するほど、企業に統合できるプラットフォームの必要性を強く認識するようになる。エンタープライズ向けの機能は、事業を長続きさせるためには絶対不可欠だ。そして、独自のビールは醸造できるだろうが、それでもそのための材料や器具、そして最も大切な資源である時間にまつわる費用がかかっていることを忘れないでほしい。ビールは、実は無料ではないのだ。僕の貴方への提言は、Hadoopプラットフォームをどういじるか心配する代わりに、貴方の中核能力に集中せよということだ。
以上の特性のどれかについて議論したい、またもっと深い情報が欲しい場合は、この投稿にコメントするか、ツイッターで@kingmesalまで僕に声をかけてほしい。

Apache Hadoop for the MapR Converged Enterprise Edition

Apache Hadoop for the MapR Converged Enterprise Edition
MapRコンバージド・データ・プラットフォーム向けHadoopは、オープンソースのHadoopソフトウェアとエンタープライズグレードのMapRプラットフォームを結合させることで、Hadoopをより強力で安全かつ安定したものにしています。

詳細についてデータシートをご確認ください。

無料ダウンロードはこちら

こちらの記事もおすすめです