我已经让hadoop lzo在本地伪集群上愉快地工作了,但是当我在生产中尝试相同的jar文件时,我得到:
java.lang.RuntimeException: native-lzo library not available
库被验证为在datanodes上,所以我的问题是:在什么屏幕/设置中指定本机lzo库的位置?
b4lqfgs41#
对于mapreduce,需要将条目添加到mapreduce客户端环境安全阀。通过转到“配置”下的“查看和编辑”选项卡,可以找到mapreduce客户端安全性。然后在那里加上这些行:hadoop\u classpath=$hadoop\u classpath:/opt/cloudera/parcels/hadoop\u lzo/lib/hadoop/lib/*java\u library\u path=$java\u library\u path:/opt/cloudera/parcels/hadoop\u lzo/lib/hadoop/lib/native还要将lzo编解码器添加到mapreduce服务下的io.compression.codecs属性。为此,请转到“查看”下的“io.compression”和“配置”下的“编辑”选项卡,然后单击以下几行:com.hadoop.compression.lzo.lzocodeccom.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.htmlhth公司
zysjyyx42#
尝试 sudo apt-get install lzop 在tasktracker节点中。
sudo apt-get install lzop
2条答案
按热度按时间b4lqfgs41#
对于mapreduce,需要将条目添加到mapreduce客户端环境安全阀。通过转到“配置”下的“查看和编辑”选项卡,可以找到mapreduce客户端安全性。然后在那里加上这些行:
hadoop\u classpath=$hadoop\u classpath:/opt/cloudera/parcels/hadoop\u lzo/lib/hadoop/lib/*
java\u library\u path=$java\u library\u path:/opt/cloudera/parcels/hadoop\u 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
hth公司
zysjyyx42#
尝试
sudo apt-get install lzop
在tasktracker节点中。