さて、事の発端は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無いって怒られる)