我在具有一个主节点和一个核心节点的EMR上使用Spark,但面临以下问题:
java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support.
我将java.library.path设置为/ usr / lib / hadoop / lib / native /:/ usr / lib / hadoop-lzo / lib / native /
checknative在主节点和核心节点上为我提供了此功能:
16/04/28 15:03:27 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
16/04/28 15:03:27 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /usr/lib/hadoop/lib/native/libhadoop.so.1.0.0
zlib: true /lib64/libz.so.1
snappy: true /usr/lib/hadoop/lib/native/libsnappy.so.1
lz4: true revision:99
bzip2: true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so
EMR版本:emr-4.6.0
Hadoop发行版:Amazon 2.7.2
应用程序:Spark 1.6.1
最佳答案
我终于找到了解决方案,我设置了LD_LIBRARY_PATH,它现在可以工作了!
export LD_LIBRARY_PATH=/usr/lib/hadoop/lib/native/
我在所有节点上都执行了此操作。我希望它可以帮助某人:)!
关于hadoop - EMR上的Snappy not available错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36918719/