Apache Hadoopの1.0のアップデート

ビッグデータアナリストのエキスパートになる

本記事は、Cloudera プロダクト・バイス・プレジデント Charles Zedlewski による記事を翻訳したものです。

原文についてはこちらをご覧ください。

 

何人かのユーザやお客様から、Apache Hadoop 最新リリースである v1.0につ いての問い合わせがありました。一体それが何なのか、どういう位置づけなのか、という質問です。これを説明するには、まずApacheプロジェクトがどのようにソフトウェアをリリースするか、その基本から説明する必要があります。
ほとんどの Apache プロジェクトにおいて、新機能は「trunk(トランク)」として知られるメインのコードラインで開発されます。非常に大きな機能の場合、しばしばその機能固有のブランチで開発され、将来的にtrunkにマージされることを目指します。新機能は通常新バージョンとしてリリースされる前にtrunkに取り込まれ、品質や安定性はあまり期待されません。定期的にリリース候補がtrunkから分岐されます。リリース候補が分岐されたら、そのブランチは新機能を取り込まなくなります。バグが修正され、投票の後、そのブランチのリリースが宣言されます。コミュニティの任意のメンバーは、リリース用ブランチを作成し、彼らはそのブランチに対し好きな名前を付けることができます。

この図は、様々なApache Hadoopのリリースとその起源の歴史を示しています。

 

Apache Hadoopプロジェクトからのコミュニティリリースにおいて、それまでのリリース方法やブランチの慣習を破ったことが3回あります。こうした出来事は、通常はユーザにとっては混乱の元です。

1. Apache Hadoop 0.20 ブランチができてから1年以上も、重要な機能の開発がtrunk上ではなくそのブランチ上で続きました。2つの主要な機能が、0.20.2 以降のブランチに追加されました。1つ目の機能は、コアHadoopに強力なセキュリティ機能を提供する認証機能でした。もう一つの主要機能は、ユーザがデータロストのリスクなしにApache HBaseを実行できるようにするappend機能でした。securityブランチは後に0.20.203としてリリースされました。その時以来、これらのブランチとそれに続くリリースはユーザにとって最も大きな混乱の元でした。0.20ブランチのリリースが機能を持っていてtrunkがその機能を持っていないこともあり、その逆のケースもまたありました。

2. Apache Hadoop 0.22は、時系列的にはApache Hadoop0.23の後にリリースされました。実際にはApache Hadoop 0.23は0.22の厳密な機能上位互換なのですが、0.23は0.22がリリースされる一ヶ月前にリリースされました。

3. 0.23がリリースされた数週間後に、以前から0.20.205として知られていた0.20ブランチは1.0と変更されました。0.20.205と1.0の間には機能差分はほぼ全くありません。これは単に番号をつけ直しただけです。

上記の問題1が原因で、Apache Hadoopにコミット済みの機能を全て持ったApacheリリースが全く行われない期間が18ヶ月続きました。この表はその点を示しています:

Apache Hadoop コミュニティのメンバーとして、Cloudera社のエンジニアはどちらか一方の機能セットを選ぶという不快な選択をしなくて済むように、リリースが過去の任意のリリースの厳密な機能上位互換であるという状態に戻そうと努力しています。幸運にも、1.0ナンバリングの混乱を引けば、我々は基本的にそこにいます。最近trunkから2つの良いリリースが行われ(0.22と0.23)、そのうちの一つ(0.23)は過去のリリースの全ての機能を持っています。これらの新しいリリースは1.0の機能上位互換であることを示すために2.0や3.0、あるいは他の番号に変更される可能性が高いですが、結論は保留されています。

皆様の多くがCDHユーザであり、今は何のApache Hadoopを実行しているのか、今後何のApache Hadoopを実行するのか悩まれていることでしょう。この図は、CDHのリリースと、そのリリースがApache Hadoopのどのバージョンをベースにしているのかを示しています。

CDH1ディストリビューションは0.18.3 Apache Hadoopのリリースを組み込みました。CDH2ディストリビューションは0.20.1 Apache Hadoopのリリースを組み込みました。CDH3ディストリビューションは0.20.2 Apache Hadoopのリリースに加え、0.20.append と0.20.security ブランチの機能を組み込みました。この2つのブランチを組み合わせたものが、今「1.0」として知られているものです。CDH3内のApache Hadoopは1年近く、先日発表されたApache Hadoop 1.0と同等機能を提供し続けてきました。CDH4ディストリビューションはおそらく0.23.xシリーズからのリリースを組み込む予定です。我々はまた、CDHのリリースに対し四半期ごとの更新を行います。 バグの修正やパフォーマンス、安定性の向上などを目的としたtrunkからのバックポートが含まれ、新しいコンポーネントリリースを含みません。安定性を損なわない、または互換性を損なわない場合、CDHアップデートは新しいコンポーネントバージョンを含みます。例えばCDH3U0はHBase 0.90.0を採用しているのに対し、CDH3U2はHBase 0.90.4を採用しています。
Cloudera’s Distribution including Apache Hadoop は現在 13 の異なるオープンソースコンポーネントを組み込み、統合して、Apache Hadoopをベースとした単一のオープンソース・データマネジメントプラットフォームを作っています。13個のコンポーネントのうち11個はApacheプロジェクトのもので、Apache Hadoopはそのうちの1つになります。これらの全てのプロジェクトはそれぞれが異なる動機、ことなる嗜好を持った異なる人間が集まって開発しているため、個別のブランチとリリース傾向を持っています。これはこういう特徴であり、Apacheコミュニティのプロセスのバグではありません。異なる動機を持つ個人が誰でも貢献できる環境を作ることによって、プロジェクトはより多くの貢献者とより多くのイノベーションを惹きつけるのです。
CDHには1年ごとのリリース、四半期ごとのアップデート、アップグレードの道筋の公開と、互換性の保持やアップデート間の安定性に対する厳格なポリシーの全てに対する数年の歴史があります。CDHのエンジニアリングチームは、広大なコミュニティのイノベーションを単一の一貫性のあるシステムに組み込むことができる、20人以上のコミッターやPMCメンバで構成されているので、このCDHの製品ポリシーはCloudera社にのみ実現可能なことでした。これが、オープンソースの貢献におけるリーダーシップの証明がApache Hadoopのオープンイノベーションを生かす唯一の方法であると信じている理由なのです。

CDHの最新のGAリリースは、CDH3、アップデート2です。詳細については、こちらをご覧ください。(英語)

(注: 2014年現在の最新版はCDH5です。日本語のリリース記事はこちら)

 

関連記事

Clouderaのビッグデータソリューション

ImpalaとHiveの戦略について

なぜ私達はHDFS上にプラットフォームを構築するのか

 


Contact us

製品やサービス、サポート、トレーニングについてのより詳しい情報は、下記までお問い合わせください。

Cloudera全般(日本語)
info-jp@cloudera.com
二ユースレター購読 (日本語)
Clouderaからの日本語での二ユースレター購読希望の方は
info-jp@cloudera.com
件名: ML_SUBSCRIBE
でメールをお送りください