2014年1月30日木曜日

Macでnative-hadoopを使う方法

忘れないようにメモ
さて、事の発端はMacでHadoop2系のnative-hadoopを使いたくて見つけた以下の文から始まる。

The native hadoop library is supported on *nix platforms only. The library does not to work with Cygwin or the Mac OS X platform.

マジかよ... ってなこと言ってたらパッチがあるのを教えてもらう。


まず、Hadoopのソースを取ってくる。適当なところに展開しておきましょう。
また、現時点で最新のパッチ(HADOOP-9648.v2.patch)もDLしておく。

展開した先でパッチを当てる
patch -p1 < HADOOP-9648.v2.patch

native-hadoopをコンパイルするにはcmakeが必要なのでインストールしておく
brew install cmake

native-hadoopだけ欲しいので余計なビルドを実行したくないし移動
cd hadoop-common-project/hadoop-common/

nativeのコンパイルを実行する
mvn -P native compile

終了
$ ls target/native/target/usr/local/lib/
libhadoop.1.0.0.dylib* libhadoop.a            libhadoop.dylib@

後は好きなところにコピーするがよろし(make installはrule無いって怒られる)