mogemoguのブログ

直感型SEとして、日々の事をちびちびと。

「MapR(GreenPlumHD)の中身説明会」に参加しました

「MapR(GreenPlumHD)の中身説明会」に参加してきました。
http://www.zusaar.com/event/198012

エンタープライズ向けのHadoopとして出来は良いと思う。
質問でも出てたけど、ノード毎にライセンスだと、スケールアウトの足を引っ張りそう、お金的な話で
英語力をもっとつけないとダメだなぁ・・・

以下、適当なメモ・・・、資料がもし公開されるなら見直したい

  • UI使いやすそう
  • 空きスロットにプリフェッチすることで待ち時間短縮
  • モニタリングにはganglia
    • MapR用のメトリクスも用意
  • ブラウザからコンソールにログインできる
    • さくらのVPSのリモートコンソールみたいなもの?
  • HdfsをMapRfsに
  • java部分も改良
  • ダイレクトシャッフル
    • HTTPプロトコルをRPCプロトコルに。HTTPよりもオーバーヘッドが少ない
    • Mapの結果は、ノードごとに中間ファイルとして置かれ、それをrpcでやりとり
  • Mapの一時領域にローカルディスクを使わない
    • MapRfs使われるため、すべてのファイルがMapRの枠内で扱われる
    • apache Hadoopがなぜローカルにファイルを出すのか
      • メタデータの更新が辛いから
        • 1ヶ所のnamenodeなので
        • MapRは分散namenodeなので可能
  • rawデバイスを使っている
  • ストレージプール
  • レプリカ
  • コンテナの単位で複数まとめて
    • ボリュームは複数のコンテナ
    • データコンテナ
    • ネームコンテナ
      • メタ情報管理
      • 従来のネームノードで管理したメタ情報を分散
  • コンテナの位置などの管理はCLDB
    • HAできるし、保存している情報も大きくないので、切り替えも早い
    • ネームコンテナはスター型でレプリカ
    • データコンテナは、マスター←→レプリカ←→レプリカ
    • 更新のアクセスがノードに均等になる
    • 中間ファイル用のボリュームは特定のノードしかない。かつレプリカは1個
  • トポロジ
    • ラックを指定できたり
      • あるサービスはこのラックだけとかできる
    • ラックを跨がせたり
  • java api 100%互換
  • 権限など、セキュリティ
    • ファイルなどへのアクセス
    • ボリュームなどの管理
  • スナップショット
    • スナップショットは差分保存
  • ミラー
    • 読み出しの多いアプリでは、ミラーを作っておいて、読み込みにはミラーを使うとか
    • 遠隔地でつくっておくとDRになる
  • ビルトイン圧縮
    • アルゴリズム lzf
    • ネットワークI/Oも減る
    • 特定の拡張子で除外したりとか
  • ブロックサイズのデフォルトは256MB
  • JobTraker HA
    • 監視はzookeeper
    • 監視プロセスがzookeeperのデータを更新
    • 問題があればzookeeperが別ノードでJobTracker起動
    • 動いているジョブは一時停止するが新しく立ち上がったJobTrackerが引き継いで実行
      • TaskTrackerのタスクがゾンビになったりしない
      • データのごみが残ることでの、ディスクフルが起きなくなるとか
  • NFS機能
    • HDFSデータの出し入れ大変
    • nfsプロトコルのレイヤを一枚挟み
    • 普通にマウントもできる
    • レスポンスも早い
    • viでファイルも作れる
      • おおお、これいいな
  • 細かいファイルが1つのブロックで共有されることも
    • 8KBのブロック
      • これが集まって256MBのブロックサイズってことなのかな?
    • 圧縮もこの単位
  • すべてのサーバーでNFSサービスを起動すると、MapRクラスタが全部見える。
    • ネイティブライブラリから使える
    • ただし、ロックや排他制御はアプリ側で制御しないといけない