hadoop

Mapper/ReducerではrunというメソッドもOverrideできる

ということを今更知った。 runのデフォルトの実装の中で、setup, map/reduce, cleanup を呼び出している。 Mapper (Apache Hadoop Main 2.7.3 API) Reducer (Apache Hadoop Main 2.7.3 API) 参考:in-mapper combining(MapReduceデザインパターン) | mwSoft

自作クラスでHadoopのGeneric Optionsを使えるようにする。

最近、Hadoop忘れてきたのでメモ… 自作クラスにToolを実装させればHadoopのGeneric Optionsを解釈してくれるようになる。 Generic Options つまり、-confオプションでHadoopの設定を上書きしたりできるようになる。

CDH5.4.0 でのMRジョブの圧縮設定

MapReduceのGateway設定 mapred.output.compress mapred.output.compression.codec mapred.compress.map.output mapred.map.output.compression.codecHiveのGateway設定 hive-site.xml の安全バルブに以下を追記 <property> <name>hive.exec.compress.output</name> <value>true</value> </property>以上を設定…

HDFSではDataNodeの容量はなるだけ均一にしたほうがよい

特に少ない台数でクラスタを組む場合。 以下の様な点に留意。 DataNode ボリューム選択ポリシーは空き容量ベースに設定する。 各DataNodeの容量はなるだけ均一にする。均一にできない場合でも、ちゃんとレプリカが作成できるように留意する。 DataNodeの容量…

HDFS の crc

HDFS の crc は、HDFS にデータ入った後の(datanodeとの通信なんかで生じる)破損を検知するためのものっぽい。 putとかでデータ入れてる最中に処理をkillし、中途半端な状態で書き込まれても、get する時に特にエラーは出ない。 なので、ちゃんと HDFS に…

mapreduce、yarn 関係のパッケージ構成

CDH4になってから、jarやソースコードが hadoop-0.20-mapreduce hadoop-mapreduce hadoop-yarn に分かれていて、上の2つの区別がよく分からないでいた。今頃気づいたんだが、hadoop-0.20-mapreduce はMapReduce1.0で、hadoop-mapreduce はYARN上で動くMapRed…

CDH4のmapreduce関係のパッケージの構成がカオスな件

モノによっては同じパッケージで同じ名前のクラスが存在する。もしかしたら、3つ同じものが存在する場合もあるかもしれない・・・ソースtarを見てみると、mapreduce関係のクラスは cdh4.1.2 というtarと mr1-cdh4.1.2 というtarの2つに入っていて、さらに cd…

RunJar を jdb で起動

CDH4は -g オプション付きでビルドされてるのか? RunJar を jdb で起動したらちゃんとステップ実行できたし変数もdumpできた!

ChainMapper

hadoop 0.22 の ChainMapper のソースをちょっと覗いてみたのだが、どうも、Chainに追加された Mapper に対し、setup や clean up は実行されないように読める。 ChainMapper/Reducer#chain や Chain#mappers は private で宣言されているので、ChainMapper/…

Job実行中に Map/Reduce系の設定ファイルを変更しちゃダメ

Job実行中に mapred-site.xml を書き換えたら、実行中のJOBがアボートしてしまった。Trasktracker は、どうやらtask実行する度に設定を読み込んでいるようだ。