Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hadoop OfflineImageViewerの変遷 (Cloudera World Tokyo 2014 LT講演資料)

6,945 views

Published on

■Hadoop OfflineImageViewerの変遷
2014年11月6日 日本Hadoopユーザー会 ライトニングトーク(Cloudera World Tokyo 2014会場内) 講演資料

NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
鯵坂 明
http://oss.nttdata.co.jp/hadoop/

  • Be the first to comment

Hadoop OfflineImageViewerの変遷 (Cloudera World Tokyo 2014 LT講演資料)

  1. 1. Copyright © 2014 NTT DATA Corporation 1 (株) NTTデータ 基盤システム事業本部 鯵坂 明 2014/11/6 Cloudera World Tokyo 2014 OfflineImageViewerの変遷
  2. 2. Copyright © 2014 NTT DATA Corporation 2  NTTデータ OSSプロフェッショナルサービス  Hadoop関連のR&Dやシステム開発に従事  約1年前からHadoop本体の開発に参加  ドキュメント  バグフィックス  運用強化  などなど  OfflineImageViewerの開発者  何か問題があれば、直します 自己紹介:鯵坂 明 (あじさか あきら)
  3. 3. Copyright © 2014 NTT DATA Corporation 3  HDFSのメタ情報であるfsimageを人間が読める形式に変換す るためのツール  Hadoopクラスタを起動する必要はなく、文字通り「オフライン」 で変換  HDFSの利用状況を分析するのに便利 OfflineImageViewer(以下、OIV)とは HDFSIMG1^Y^H<AC><B3><F5><D7>^A^P<E8>^G^X<C2><90>^L ^@(<DA><88><8C><80>^D0<A8> <AA>L^F^H<EF><A8>^N^PR^B^P<81><80>^A^Z^@*<D9><D3><AF><95><91>)^P<FF><FF><FF><FF><FF><FF><FF><FF>^?^X<FF><FF><FF><FF><FF><FF><FF><FF><FF>^A!< ED>^A^B^@^@^A^@^@^B ^P<84><80>^A^Z^Ctmp*<8F><F6><E3><E8><87>)^P<FF><FF><FF><FF><FF><FF><FF><FF><FF> ^A^X<FF><FF><FF><FF><FF><FF><FF><FF><FF>^A!<FF>^A^B^@^@^A^@^@^B^P<92>< 80>^A^Z^Khadoop-yarn*<DA> ... drwxrwxrwx - root supergroup 0 2014-09-16 15:14 /tmp drwx------ - root supergroup 0 2014-09-16 15:14 /tmp/hadoop-yarn drwx------ - root supergroup 0 2014-09-16 15:14 /tmp/hadoop-yarn/staging
  4. 4. Copyright © 2014 NTT DATA Corporation 4  OIVで利用可能なオプション (合計6つ) Hadoop 2.3以前 オプション 説明 Ls ls形式で出力 XML XML形式で出力 Indented インデントした状態で出力 Delimited 任意のdelimiter区切りで出力 FileDistribution ファイルサイズの統計情報を出力 NameDistribution ファイル名・ディレクトリ名の統計情報を出力
  5. 5. Copyright © 2014 NTT DATA Corporation 5  使ってみると、色々とバグが見つかった  helpの出力で、あるべき改行が抜けている  FileDistributionで'-maxSize'と'-step'を指定するとOIVが落ちる(!)  NameDistributionで不要な行が表示される  報告すると、「HDFS-5698 branchがマージされると、今の OIVはDeprecatedになるから待って」と言われた 言われるがまま、HDFS-5698がマージされるのを待った OfflineImageViewerのバグ
  6. 6. Copyright © 2014 NTT DATA Corporation 6  fsimageの形式が変化 (HDFS-5698)  ProtocolBuffersでシリアライズ/デシリアライズ  fsimageのフォーマットを更新するのが非常に簡単になった  OIVも、新しいfsimageを読み込むために再実装された Hadoop 2.4で、OIVは大きく変化
  7. 7. Copyright © 2014 NTT DATA Corporation 7  OIVで利用可能なオプション  オプションが6つから3つに減少 デグレしてる! 2.4のOfflineImageViewer オプション 説明 Ls ls形式で出力 XML XML形式で出力 FileDistribution ファイルサイズの統計情報を出力
  8. 8. Copyright © 2014 NTT DATA Corporation 8  失った機能を取り戻したい  Indented, Delimitedについて実装しようとしたが、 「Indented/Delimited formatの目的であるfsimageの分析には、 XMLを使ってくれ。コードが重複することは避けたい。」と言われた 2.5に向けた機能追加(その1)
  9. 9. Copyright © 2014 NTT DATA Corporation 9  機能の追加も提案 (HDFS-5975)  「fsimageが巨大だとLsの結果も大きいから、特定のファイルパスの 情報だけ取り出したい」 という提案をしたところ、  「read only のWebHDFS APIを提供する、jhatのようなツールを作っ てみたらどうか」と、逆に提案された 2.5に向けた機能追加(その2)
  10. 10. Copyright © 2014 NTT DATA Corporation 10  実装した! (HDFS-5978)  HTTPサーバを起動  WebHDFS APIでアクセス  2.5.0から利用可能 WebImageViewer bash$ bin/hdfs oiv -i fsimage 14/04/07 13:25:14 INFO offlineImageViewer.WebImageViewer: WebImageViewer started. Listening on /127.0.0.1:5978. Press Ctrl+C to stop the viewer. bash$ bin/hdfs dfs -ls webhdfs://127.0.0.1:5978/ Found 2 items drwxrwx--- - root supergroup 0 2014-03-26 20:16 webhdfs://127.0.0.1:5978/tmp drwxr-xr-x - root supergroup 0 2014-03-31 14:08 webhdfs://127.0.0.1:5978/user
  11. 11. Copyright © 2014 NTT DATA Corporation 11  fsimageの形式が変わったことで、OIVを動かすのに必要なメ モリが急増  1.4億ファイル/ディレクトリのfsimageだと、80GBあっても足りない  2.3までだと、350MBで足りた メモリ使用量の削減案はあったが、1GBのヒープで動かすた めのアイデアが浮かばず 最終的に、 2.3までのOIVを、oiv_legacyコマンドとして復活 (HDFS-6293) NameNode(standby) or SecondaryNameNodeで旧形式の fsimageをdumpさせるためのオプションを追加 -"dfs.namenode.legacy-oiv-image.dir" 2.5に向けた機能追加(その3)
  12. 12. Copyright © 2014 NTT DATA Corporation 12  メモリ使用量の削減 (HDFS-7158)  巨大なfsimageを読むときに効果 - 3GBのfsimageの場合、必要なヒープが46GBから7GBに減少  Hadoop 2.6から使える予定  dfs -findコマンド(HADOOP-8989)との連携で、簡単な検 索が可能に レビューは完了、コミット待ちの状態 WebImageViewerの今後 bash$ bin/hdfs dfs -find webhdfs://127.0.0.1:5978/ - name '*tmp*' webhdfs://127.0.0.1:5978/tmp
  13. 13. Copyright © 2011 NTT DATA Corporation Copyright © 2014 NTT DATA Corporation お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496

×