If native libraries are not available the following message is displayed with every hadoop command: hadoop checknative
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
-
Clone hadoop source code
$ git clone https://github.com/apache/hadoop.git $ cd hadoop
-
Checkout the version
2.7.1
source
$ git checkout branch-2.7.1
-
Install required dependencies - OSX: use
brew
or any other package manager
$ brew install cmake $ brew install zlib $ brew install protobuf $ brew install snappy
-
Build project and native dependencies with
maven
$ mvn package -Pdist,native -DskipTests -Dtar
-
Copy newly created libraries to the hadoop installation
$ mkdir -p $HADOOP_INSTALL/lib/native/osx $ cp -r hadoop-dist/target/hadoop-2.7.1/lib/native/* $HADOOP_INSTALL/lib/native/osx
-
Add shell variables either to the
~/.bash_profile
, or$HADOOP_INSTALL/etc/hadoop/hadoop-env.sh
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_INSTALL/lib/native/osx”
Check if native libraries are available:
$ hadoop checknative
Warning
|
above rules do not cause bzip2 native libs to work in OSX.
|
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/0f0b2fc5e2541712b0bb06f74cc1559b1c884750/Formula/[email protected]
作者:tison
链接:https://www.zhihu.com/question/360006055/answer/928011185
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。