【问题标题】:Cloudera Manager: Where do I put Java ClassPath for MapReduce jobs?Cloudera Manager:我应该将 Java ClassPath 放在哪里用于 MapReduce 作业?
【发布时间】:2013-08-05 19:33:54
【问题描述】:

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

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

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

我应该在什么屏幕/设置中指定 native-lzo 库的位置?

【问题讨论】:

    标签: hadoop cloudera lzo


    【解决方案1】:

    对于 MapReduce,您需要将条目添加到 MapReduce 客户端环境安全阀。您可以通过转到配置下的查看和编辑标签找到MapReduce客户端安全。然后在那边添加这些行:

    • 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 属性。为此,请转到 ConfigurationView and Edit 选项卡下的 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

    HTH

    【讨论】:

    • 仍然收到 RuntimeException。我已经部署了客户端配置,重新启动了 mapreduce 服务。还能有别的吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2020-09-30
      • 2021-09-30
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多