Hadoop splittable-lzo-compressionの設定と評価
自己紹介    佐藤 大樹(dandaso)2003∼2006 (株)ドワンゴ2006∼2008 ウノウ(株)2009∼    (株)スペイジーズ 
自己紹介    佐藤 大樹(dandaso)2003∼2006 (株)ドワンゴ2006∼2008 ウノウ(株)2009∼    (株)スペイジーズ  スペイシーズは人財を募集しております  ・確率分布、統計、検定などの基礎知識  ・回帰分析など...
大規模データ向けのバッチ分散処理システムFile          File       File        File                                      Namenode               ...
WordCount INPUT       MAP        SHUFFLE    REDUCE CAT DOG   CAT 1        CAT   1ELEPHANT   DOG 1        CAT   1          ...
Hadoopを利用する利点・フレームワーク(MapReduce)に沿って プログラムを書ばバッチ処理を分散処理を してくれる・ノードを増やせばスケールする欠点・起動のオーバーヘッドが大きため、 リアルタイム性を求める処理には向かない
Hadoopで扱える圧縮形式                               複数    スプリッ圧縮形式   ツール    アルゴリズム   拡張子                              ファイル    タブル...
Hadoopで扱える圧縮形式                               複数    スプリッ圧縮形式   ツール    アルゴリズム   拡張子                              ファイル    タブル...
2.1GのApacheのアクセスログ     圧縮時間 圧縮速度 サイズ 解凍時間 解凍速度圧縮形式                                     サイズ比     (sec) (M/sec) (MByte) (sec...
lzopの圧縮レベルについて 2.1Gのログを圧縮         圧縮時間     サイズ       解凍時間 圧縮レベル         (sec)   (M byte)    (sec)  1      14.1     532    ...
圧縮してMapReduceを行う利点と欠点利点 ・ディスク容量の節約 ・ネットワーク帯域の節約欠点 ・CPUを使う ・ログファイルをすぐに閲覧できない
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
HDFS上ファイルをコピー                       secondary namenode              namenodetasktracker1   2   3      4
Hadoopの設定 (1)Hadoopをインストール  $ sudo curl http://archive.cloudera.com/redhat/  cdh/cloudera-cdh2.repo > /etc/yum.repos.d/  c...
Hadoopの設定 (2) /etc/hadoop-0.20/core-site.xml ・io.compression.codec.lzo.class  com.hadoop.compression.lzo.LzoCodec ・io.comp...
Hadoopの設定 (3) Hadoopを設定(LZO部分)$yum install -y lzo-devel lzop$git clone git://github.com/kevinweil/hadoop-lzo.git$ant compi...
Hadoopの設定 (4)              ソースコードimport com.hadoop.mapreduce.LzoTextInputFormatpublic class Test extends Configured impleme...
テストと評価 (1) テスト環境TaskTrackerの環境CentOS 5.4Cloudera CDH2XeonL5520 x1(8 thread)Memory 16GByte を4台 で 2GByteのログを4つCountmapred.ta...
テストと評価 (2) lzo インデックスの作成hadoop dfs -ls /user/hadoop/test/  2010-09-28 15:03 /user/hadoop/test/log1.lzo  2010-09-28 15:06 /...
テストと評価 (3) lzo インデックスの作成hadoop dfs -ls   /user/hadoop/test/  2010-09-28     15:03 /user/hadoop/test/log1.lzo  2010-09-28  ...
テストと評価 (4)                     入力ファイル     MapReduce         MapTaskの数                      サイズ         実行時間 圧縮なし      127 ...
テストと評価 (4)eth1 trafic bit/sec                     bzip                     gzip                     lzo                    ...
まとめHadoopLzo・HDFSの容量を節約できる・帯域を圧縮し、処理時間を短縮できるHadoop 0.20.xでは特別な理由が無い限り利用したい
Upcoming SlideShare
Loading in …5
×

Hadoop splittable-lzo-compression

3,110 views

Published on

Hadoop splittable-lzo-compression

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,110
On SlideShare
0
From Embeds
0
Number of Embeds
141
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Hadoop splittable-lzo-compression

    1. 1. Hadoop splittable-lzo-compressionの設定と評価
    2. 2. 自己紹介    佐藤 大樹(dandaso)2003∼2006 (株)ドワンゴ2006∼2008 ウノウ(株)2009∼    (株)スペイジーズ 
    3. 3. 自己紹介    佐藤 大樹(dandaso)2003∼2006 (株)ドワンゴ2006∼2008 ウノウ(株)2009∼    (株)スペイジーズ  スペイシーズは人財を募集しております  ・確率分布、統計、検定などの基礎知識  ・回帰分析などの統計分析手法の知識  ・パターンマイニング、分類器、   クラスタリングなどの機械学習の知識
    4. 4. 大規模データ向けのバッチ分散処理システムFile File File File Namenode HDFS DataNode JobTrcker MAP MAP MAP MAP TaskTracker Reduce Reduce Out Out
    5. 5. WordCount INPUT MAP SHUFFLE REDUCE CAT DOG CAT 1 CAT 1ELEPHANT DOG 1 CAT 1 CAT 4 ELEPHANT 1 CAT 1 CAT 1 ELEPHANT 1CAT DOG CAT 1 RABIT RABIT 1 ELEPHANT 1 DOG 1 DOG 1 RABIT 2 CAT 1CAT CAT CAT 1 RABIT 1 RABIT RABIT 1 RABIT 1
    6. 6. Hadoopを利用する利点・フレームワーク(MapReduce)に沿って プログラムを書ばバッチ処理を分散処理を してくれる・ノードを増やせばスケールする欠点・起動のオーバーヘッドが大きため、 リアルタイム性を求める処理には向かない
    7. 7. Hadoopで扱える圧縮形式 複数 スプリッ圧縮形式 ツール アルゴリズム 拡張子 ファイル タブルgzip gzip deflate .gz 不可 不可 ファイル ZIP zip deflate .zip 可能 単位bzip bzip2 bzip2 .bz2 不可 可能 LZO lzop LZO .lzo 不可 不可
    8. 8. Hadoopで扱える圧縮形式 複数 スプリッ圧縮形式 ツール アルゴリズム 拡張子 ファイル タブルgzip gzip deflate .gz 不可 不可 ファイル ZIP zip .zip deflate 可能 単位 可能に!bzip bzip2 bzip2 .bz2 不可 可能 LZO lzop LZO .lzo 不可 不可
    9. 9. 2.1GのApacheのアクセスログ 圧縮時間 圧縮速度 サイズ 解凍時間 解凍速度圧縮形式 サイズ比 (sec) (M/sec) (MByte) (sec) (M/sec)gzip 56 38.4 291 15 143 1/7bzip 825 2.6 192 78 27.5 1/11 1/4. lzo 12 179 475 5.6 379 5
    10. 10. lzopの圧縮レベルについて 2.1Gのログを圧縮 圧縮時間 サイズ 解凍時間 圧縮レベル (sec) (M byte) (sec) 1 14.1 532 8.6 3 14.3 528 8.5 6 104 519 8.5 9 186 517 8.6
    11. 11. 圧縮してMapReduceを行う利点と欠点利点 ・ディスク容量の節約 ・ネットワーク帯域の節約欠点 ・CPUを使う ・ログファイルをすぐに閲覧できない
    12. 12. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    13. 13. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    14. 14. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    15. 15. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    16. 16. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    17. 17. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    18. 18. HDFS上ファイルをコピー secondary namenode namenodetasktracker1 2 3 4
    19. 19. Hadoopの設定 (1)Hadoopをインストール $ sudo curl http://archive.cloudera.com/redhat/ cdh/cloudera-cdh2.repo > /etc/yum.repos.d/ cloudera-cdh2.repo $ yum -y update yum $ sudo yum -y install hadoop-0.20-conf-pseudoHadoopを設定 vi /etc/hadoop-0.20/masters vi /etc/hadoop-0.20/slaves vi /etc/hadoop-0.20/core-site.xml vi /etc/hadoop-0.20/hdfs-site.xml vi /etc/hadoop-0.20/mapred-site.xml
    20. 20. Hadoopの設定 (2) /etc/hadoop-0.20/core-site.xml ・io.compression.codec.lzo.class  com.hadoop.compression.lzo.LzoCodec ・io.compression.codecs  org.apache.hadoop.io.compress.GzipCodec,  org.apache.hadoop.io.compress.DefaultCodec,  com.hadoop.compression.lzo.LzoCodec,  com.hadoop.compression.lzo.LzopCodec,  org.apache.hadoop.io.compress.BZip2Codec /etc/hadoop-0.20/core-mapred.xml ・mapred.map.output.compression.codec  com.hadoop.compression.lzo.LzoCodec
    21. 21. Hadoopの設定 (3) Hadoopを設定(LZO部分)$yum install -y lzo-devel lzop$git clone git://github.com/kevinweil/hadoop-lzo.git$ant compile-native tar$cp build/hadoop-lzo-0.4.4.jar /usr/lib/hadoop/lib/$mkdir -p /usr/lib/hadoop/lib/native/Linux-amd64-64$tar -cBf - -C build/hadoop-lzo-0.4.4/lib/native . ¦ sudo tar -xBvf - -C /usr/lib/hadoop/lib/native/Linux-amd64-64
    22. 22. Hadoopの設定 (4) ソースコードimport com.hadoop.mapreduce.LzoTextInputFormatpublic class Test extends Configured implements Tool {... public int run(String[] args) throws Exception { .... // input formatにLzoを利用 conf.setInputFormat.(LzoTextInputFormat.class) // 出力データにLzoを利用 FileOutputFormat.setOutputCompressorClass (conf,com.hadoop.compression.lzo.LzopCodec.class); FileOutputFormat.setCompressOutput(conf, true);}
    23. 23. テストと評価 (1) テスト環境TaskTrackerの環境CentOS 5.4Cloudera CDH2XeonL5520 x1(8 thread)Memory 16GByte を4台 で 2GByteのログを4つCountmapred.tasktracker.map.tasks.maximum => 8
    24. 24. テストと評価 (2) lzo インデックスの作成hadoop dfs -ls /user/hadoop/test/ 2010-09-28 15:03 /user/hadoop/test/log1.lzo 2010-09-28 15:06 /user/hadoop/test/log2.lzo 2010-09-28 15:08 /user/hadoop/test/log3.lzo 2010-09-28 15:10 /user/hadoop/test/log4.lzohadoop jar /usr/lib/hadoop/lib/hadoop-lzo-0.4.4.jarcom.hadoop.compression.lzo.LzoIndexer test/MapReduceでインデックスを付ける場合にはhadoop jar /usr/lib/hadoop/lib/hadoop-lzo-0.4.4.jarcom.hadoop.compression.lzo.DistributedLzoIndexertest/
    25. 25. テストと評価 (3) lzo インデックスの作成hadoop dfs -ls /user/hadoop/test/ 2010-09-28 15:03 /user/hadoop/test/log1.lzo 2010-09-28 15:30 /user/hadoop/test/log1.lzo.index  2010-09-28 15:06 /user/hadoop/test/log2.lzo 2010-09-28 15:30 /user/hadoop/test/log2.lzo.index 2010-09-28 15:08 /user/hadoop/test/log3.lzo 2010-09-28 15:30 /user/hadoop/test/log3.lzo.index 2010-09-28 15:10 /user/hadoop/test/log4.lzo 2010-09-28 15:30 /user/hadoop/test/log4.lzo.indexログ集計を実行hadoop dfs jar logcount.jar jar logcount -m 24 -r 8test/ testoutput/
    26. 26. テストと評価 (4) 入力ファイル MapReduce MapTaskの数 サイズ 実行時間 圧縮なし 127 8G 2:25 gzip 4 1.2G 6:29 bzip 24 0.87G 2:09 lzo 28 1.7G 2:11 *Map input records はすべて 11,845,446
    27. 27. テストと評価 (4)eth1 trafic bit/sec bzip gzip lzo 圧縮なし
    28. 28. まとめHadoopLzo・HDFSの容量を節約できる・帯域を圧縮し、処理時間を短縮できるHadoop 0.20.xでは特別な理由が無い限り利用したい

    ×