DockerでUID分離が実現したらHadoop運用は効率化する――米Altiscaleが開発中
Hadoop環境もDockerを使えば管理が効率化する? AltiscaleがYARNへの適用を進めている。
Hadoopサービスを手掛ける米Altiscaleは、2014年6月3〜5日に開催された「Hadoop Summit」に合わせ、DockerをYARN(Yet-Another Resource Negotiator)に対応させるために同社が進めているプロジェクトをブログで紹介した。
YARNはHadoop 2.0で登場した「次世代Map/Reduce」とも言われるフレームワークで、データ処理とクラスタリソース管理の機能を分離する実装になっている。Map/Reduce以外のアプリケーションの動作に門戸を開くものとして注目を集めている。
「Dockerは、現在のハイパーバイザーモデルでは達成できないレベルの効率性で次世代の仮想化を実現できる可能性がある。Hadoop YARNをDockerに統合すれば、複数のクラスタで同じハードウェアリソースを活用できるようになる」と解説している。
DockerをYARNに対応させる上での課題としてAltiscaleはまず、Dockerにおける名前空間の導入を挙げる。同社によれば、Linuxにおけるリソース分離の仕組みは2007年までに大部分が整ったが、ユーザーID(UID)については、特に複雑なインターフェースを持つ名前空間設計が必要になることから、Dockerがあらゆるリソースの分離に対応する中でも、UIDだけは対応できていなかった。
Altiscaleではこの点を重大な制約とみなし、DockerへのUID分離機能統合を支援することにしたという。
Altiscaleは汎用性よりもシンプル性を重視するDockerの精神を尊重して、まずはrootユーザーの再マッピングのみをサポートし、コンテナー内の仮装UID 0(root)が自動的にそのホスト上の著名ユーザーにマッピングされるようにした。
他のUIDはコンテナー内で1対1のマッピングを行い、ホストや他のコンテナーからそのコンテナーにマウントされたファイルやディレクトリに一貫したUIDが表示されるようにした。セキュリティ上の理由から、ホストのrootはマッピングしなかった。
さらに、定義されていないコンテナーイメージをDockerレジストリから配信できる機能についても、UID対応を組み込んでいるという。
「Dockerの完全なYARN対応を目指すためには、UIDネームスペースの分離をDockerに統合することが重要な手順であり、この取り組みは現在進行中だ」とAltiscaleは説明する。同社は他にも必要とされる複数の機能の開発に取り組んでおり、専用のWikiページを公開して積極的な参加を促している。
Copyright © ITmedia, Inc. All Rights Reserved.