SlideShare a Scribd company logo
1 of 28
Hadoop splittable-lzo-compression
の設定と評価
自己紹介    佐藤 大樹(dandaso)
2003∼2006 (株)ドワンゴ
2006∼2008 ウノウ(株)
2009∼    (株)スペイジーズ
 
自己紹介    佐藤 大樹(dandaso)
2003∼2006 (株)ドワンゴ
2006∼2008 ウノウ(株)
2009∼    (株)スペイジーズ
 
 スペイシーズは人財を募集しております
  ・確率分布、統計、検定などの基礎知識
  ・回帰分析などの統計分析手法の知識
  ・パターンマイニング、分類器、
   クラスタリングなどの機械学習の知識
大規模データ向けのバッチ分散処理システム

File          File       File        File
                                      Namenode
                HDFS                  DataNode

                                      JobTrcker
 MAP       MAP       MAP       MAP
                                     TaskTracker
       Reduce         Reduce


        Out            Out
WordCount
 INPUT       MAP        SHUFFLE    REDUCE
 CAT DOG   CAT 1        CAT   1
ELEPHANT   DOG 1        CAT   1
                                   CAT 4
           ELEPHANT 1   CAT   1
                        CAT   1    ELEPHANT 1
CAT DOG    CAT 1
 RABIT     RABIT 1      ELEPHANT 1 DOG 1

                        DOG 1      RABIT 2
           CAT 1
CAT CAT
           CAT 1        RABIT 1
 RABIT
           RABIT 1      RABIT 1
Hadoopを利用する利点
・フレームワーク(MapReduce)に沿って
 プログラムを書ばバッチ処理を分散処理を
 してくれる
・ノードを増やせばスケールする
欠点
・起動のオーバーヘッドが大きため、
 リアルタイム性を求める処理には向かない
Hadoopで扱える圧縮形式

                               複数    スプリッ
圧縮形式   ツール    アルゴリズム   拡張子
                              ファイル    タブル

gzip   gzip   deflate   .gz    不可     不可
                                     ファイル
 ZIP   zip    deflate   .zip   可能      単位

bzip bzip2 bzip2 .bz2         不可     可能

 LZO   lzop   LZO      .lzo   不可     不可
Hadoopで扱える圧縮形式

                               複数    スプリッ
圧縮形式   ツール    アルゴリズム   拡張子
                              ファイル    タブル

gzip   gzip   deflate   .gz    不可     不可
                                     ファイル
 ZIP   zip        .zip
              deflate          可能      単位
              可能に!
bzip bzip2 bzip2 .bz2         不可     可能

 LZO   lzop   LZO      .lzo   不可     不可
2.1GのApacheのアクセスログ

     圧縮時間 圧縮速度 サイズ 解凍時間 解凍速度
圧縮形式                                     サイズ比
     (sec) (M/sec) (MByte) (sec) (M/sec)


gzip   56 38.4 291         15    143 1/7

bzip 825 2.6 192           78 27.5 1/11
                                     1/4.
 lzo   12    179 475 5.6         379
                                      5
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
圧縮してMapReduceを行う利点と欠点
利点
 ・ディスク容量の節約
 ・ネットワーク帯域の節約
欠点
 ・CPUを使う
 ・ログファイルをすぐに閲覧できない
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
HDFS上ファイルをコピー
                       secondary
 namenode              namenode



tasktracker1   2   3      4
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-pseudo

Hadoopを設定
  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
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
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
Hadoopの設定 (4)              ソースコード
import com.hadoop.mapreduce.LzoTextInputFormat
public 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);
}
テストと評価 (1) テスト環境
TaskTrackerの環境
CentOS 5.4
Cloudera CDH2
XeonL5520 x1(8 thread)
Memory 16GByte
 を4台 で 2GByteのログを4つCount
mapred.tasktracker.map.tasks.maximum => 8
テストと評価 (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.lzo
hadoop jar /usr/lib/hadoop/lib/hadoop-lzo-0.4.4.jar
com.hadoop.compression.lzo.LzoIndexer test/


MapReduceでインデックスを付ける場合には
hadoop jar /usr/lib/hadoop/lib/hadoop-lzo-0.4.4.jar
com.hadoop.compression.lzo.DistributedLzoIndexer
test/
テストと評価 (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 8
test/ testoutput/
テストと評価 (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
テストと評価 (4)
eth1 trafic bit/sec
                     bzip
                     gzip
                     lzo
                     圧縮なし
まとめ
HadoopLzo
・HDFSの容量を節約できる
・帯域を圧縮し、処理時間を短縮できる


Hadoop 0.20.xでは特別な理由が無い限り
利用したい

More Related Content

What's hot

ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たちATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
AdvancedTechNight
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
Takehiro Torigaki
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
yuzorock
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価
Satoshi Nagayasu
 
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
Kazuya Yokogawa
 

What's hot (20)

Hadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみたHadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみた
 
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たちATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
 
MapR M7 技術概要
MapR M7 技術概要MapR M7 技術概要
MapR M7 技術概要
 
5社のGTFSをマージして、PostgreSQLにインポートしてみた
5社のGTFSをマージして、PostgreSQLにインポートしてみた5社のGTFSをマージして、PostgreSQLにインポートしてみた
5社のGTFSをマージして、PostgreSQLにインポートしてみた
 
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知るAI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
 
ビッグデータ活用とサーバー基盤
ビッグデータ活用とサーバー基盤ビッグデータ活用とサーバー基盤
ビッグデータ活用とサーバー基盤
 
なぜApache HBaseを選ぶのか? #cwt2013
なぜApache HBaseを選ぶのか? #cwt2013なぜApache HBaseを選ぶのか? #cwt2013
なぜApache HBaseを選ぶのか? #cwt2013
 
Redis速習会@Wantedly
Redis速習会@WantedlyRedis速習会@Wantedly
Redis速習会@Wantedly
 
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13wスケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
 
R3.0.0 is relased
R3.0.0 is relasedR3.0.0 is relased
R3.0.0 is relased
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
 
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価
 
MapReduce解説
MapReduce解説MapReduce解説
MapReduce解説
 
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介
 

Similar to Hadoop splittable-lzo-compression

第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
ksk_ha
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
bigt23
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
外道 父
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
 
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
 

Similar to Hadoop splittable-lzo-compression (20)

Googleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
SASとHadoopとの連携 2015
SASとHadoopとの連携 2015SASとHadoopとの連携 2015
SASとHadoopとの連携 2015
 
CDH4.1オーバービュー
CDH4.1オーバービューCDH4.1オーバービュー
CDH4.1オーバービュー
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
 
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
SASとHadoopとの連携
SASとHadoopとの連携SASとHadoopとの連携
SASとHadoopとの連携
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
 
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
データサイズ2ペタ ソネット・メディア・ネットワークスでのImpala活用とHadoop運用
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
 

Hadoop splittable-lzo-compression

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n