3

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 は、liblzo2.* ファイルを含む /opt/cloudera/parcels/CDH/lib/hadoop/lib/native に設定されました。
3.HADOOP_CLASSPATH は、hadoop-lzo.jar ファイルを含む /usr/local/lib に設定されました。

他に何ができますか?任意の提案をいただければ幸いです!

4

2 に答える 2

2

問題が解決しました!java.lang.NoSuchFiledError が原因です。Hadoop-lzo-0.4.15 にはフィールド lzoCompressLevelFunc がなく、hadoop-lzo0.4.20 に切り替えたときに WARN と ERROR がなくなりました。

于 2016-07-12T06:54:07.470 に答える