我刚刚按照Cloudera文件中的步骤,安装了GPL Extras Parcel并通过Cloudera Manager配置好了HDFS服务。但是当试图在HDFS上读取.lzo文件时出现了一个错误:
$hadoop fs -text /tmp/Lzo/log.txt.lzo
INFO lzo.GPLNativeCodecLoader: Loaded native gpl library
WARN lzo.LzoCompressor: java.lang.NoSuchFiledError: lzoCompressLevelFunc
ERROR lzo.LzoCodec: Failed to load/initialize native-lzo library
-text: Fatal internal error
java.lang.RuntimeException: native-lzo library not available
我已经阅读了很多帖子,发现这是由于JNI加载lzo库失败引起的,但是没有一个能够恰当地解决我的问题。以下是我所做的努力:
1. 所有数据节点都安装了lzop。
2. mapred-site.xml中的JAVA_LIBRARY_PATH设置为/opt/cloudera/parcels/CDH/lib/hadoop/lib/native,其中包含liblzo2.*文件。
3. HADOOP_CLASSPATH设置为/usr/local/lib,其中包含hadoop-lzo.jar文件。
还可以做什么?欢迎提出建议!