4

我已经让 Hadoop-Lzo 在我的本地伪集群上愉快地工作,但是第二次我在生产中尝试相同的 jar 文件,我得到:

java.lang.RuntimeException: native-lzo library not available

这些库被验证在 DataNodes 上,所以我的问题是:

在哪个屏幕/设置中指定 native-lzo 库的位置?

4

2 回答 2

3

对于 MapReduce,您需要将条目添加到 MapReduce 客户端环境安全阀。您可以通过转到Configuration下的View and Edit选项卡来找到MapReduce Client Safety。然后在那里添加这些行:

  • HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/*
  • JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:/opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/native

还将 LZO 编解码器添加到 MapReduce 服务下的 io.compression.codecs 属性。为此,请转到配置下的查看和编辑选项卡下的io.compression和这些行:

  • com.hadoop.compression.lzo.LzoCodec
  • com.hadoop.compression.lzo.LzopCodec

进行更改后不要忘记重新启动您的 MR 守护程序。重新启动后,重新部署您的 MR 客户端配置。

有关如何使用 LZO 的详细帮助,您可以访问此链接: http ://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Ent/latest/Cloudera-Manager-Installation-Guide/cmig_install_LZO_Compression.html

高温高压

于 2013-08-05T20:08:28.123 回答
0

sudo apt-get install lzop在您的 TaskTracker 节点中尝试。

于 2013-11-25T08:47:33.197 回答