我在OS X 10.10.5上運行hadoop 2.6.1。Hadoop 2.6.1警告:WARN util.NativeCodeLoader
我讀過這個問題可能是無法加載原生的Hadoop庫平臺...使用內置的Java類適用: 我得到這樣的警告:
WARN util.NativeCodeLoader由運行32位本地庫libhadoop.so.1.0.0與64位版本的hadoop引起。我檢查了我的libhadoop.so.1.0.0版本,它是64位的。
$ find ~/hadoop-2.6.1/ -name libhadoop.so.1.0.0 -ls
136889669 1576 -rwxr-xr-x 1 davidlaxer staff 806303 Sep 16 14:18 /Users/davidlaxer/hadoop-2.6.1//lib/native/libhadoop.so.1.0.0
$ file /Users/davidlaxer/hadoop-2.6.1//lib/native/libhadoop.so.1.0.0
/Users/davidlaxer/hadoop-2.6.1//lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
$ env | grep HADOOP
HADOOP_HOME=/Users/davidlaxer/hadoop-2.6.1
HADOOP_COMMON_LIB_NATIVE_DIR=/Users/davidlaxer/hadoop-2.6.1/lib/native
HADOOP_INSTALL=/Users/davidlaxer/hadoop-2.6.1
HADOOP_CONF_DIR=/Users/davidlaxer/hadoop-2.6.1/etc/hadoop
HADOOP_OPTS=-Djava.library.path=/Users/davidlaxer/hadoop-2.6.1/lib
$ hadoop version
Hadoop 2.6.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b4d876d837b830405ccdb6af94742f99d49f9c04
Compiled by jenkins on 2015-09-16T21:07Z
Compiled with protoc 2.5.0
From source with checksum ba9a9397365e3ec2f1b3691b52627f
This command was run using /Users/davidlaxer/hadoop-2.6.1/share/hadoop/common/hadoop-common-2.6.1.jar
$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
$ hadoop checknative -a
15/09/26 11:01:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Native library checking:
hadoop: false
zlib: false
snappy: false
lz4: false
bzip2: false
openssl: false
15/09/26 11:01:29 INFO util.ExitUtil: Exiting with status 1
$ sudo port list zlib
Password:
zlib @1.2.8 archivers/zlib
$ sudo port list snappy
snappy @1.1.1 archivers/snappy
$ sudo port list lz4
lz4 @r130 archivers/lz4
$ sudo port list bzip2
bzip2 @1.0.6 archivers/bzip2
$ sudo port list openssl
openssl @1.0.2d devel/openssl
$env | grep CLASS
CLASSPATH=/users/davidlaxer/trunk/core/src/test/java/:/Users/davidlaxer/hadoop-2.6.1-src/hadoop-dist/target/hadoop-dist-2.6.1.jar:/Users/davidlaxer/clojure/target:/Users/davidlaxer/hadoop-2.6.1/lib/native:
˚任何想法?
$ Hadoop的checknative -a 15/09/26 11時01分28秒WARN util.NativeCodeLoader:無法爲您的平臺加載native-hadoop庫...使用內置的Java類適用 機庫檢查: Hadoop的:假 zlib:和假 瞬間:假 LZ4:假 的bzip2:假 的OpenSSL:假 15/09/26 11時01分29秒INFO UTIL。 ExitUtil:退出狀態1 – dbl001
env | grep CLASSSPATH =/users/davidlaxer/trunk/core/src/test/java /:/ Users/davidlaxer/hadoop-2.6.1-src/hadoop-dist/target/hadoop-dist-2.6.1.jar: /Users/davidlaxer/clojure/target:/Users/davidlaxer/hadoop-2.6.1/lib/native: – dbl001
實際上,從checknative的輸出看來,您似乎需要安裝更多的庫。 – benohead