Hadoop数据节点上没有native-lzo库

时间:2013-08-05 18:55:15

标签: hadoop lzo

我已将以下简单的LzoWordCount写入我的网关/ hadoop-env.sh:

HADOOP_CLASSPATH=/opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/hadoop-lzo-cdh4-0.4.15-gplextras.jar
JAVA_LIBRARY_PATH=/opt/cloudera/parcels/HADOOP_LZO-0.4.15-1.gplextras.p0.105/lib/hadoop/lib/native/

当我运行MR工作时,我得到:

mapred.JobClient: Task Id : attempt_201307311800_0020_m_000002_2, Status : FAILED java.lang.RuntimeException: native-lzo library not available

有任何想法如何解决这个问题?我注意到' hadoop classpath | grep native'没有回报?

4 个答案:

答案 0 :(得分:3)

问题是我们没有在datanode上安装lzop。我用它修复了它:

sudo apt-get install lzop

答案 1 :(得分:2)

1.install lzo

yum install lzo -y

2.install hadoop-gpl-packaging

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hadoop-gpl-packing/hadoop-gpl-packaging-0.6.1-1.x86_64.rpm
rpm -i hadoop-gpl-packaging-0.6.1-1.x86_64.rpm

3.copy jar

cp /opt/hadoopgpl/lib/hadoop-lzo-*.jar $HADOOP_HOME/share/hadoop/common/

4 copy lib

cp /opt/hadoopgpl/native/Linux-amd64-64/* $HADOOP_HOME/lib/native/

答案 2 :(得分:1)

转到:https://code.google.com/p/hadoop-gpl-packing/downloads/list

下载jar并且rpm安装rpm(当时:hadoop-gpl-packaging-0.6.1-1.x86_64.rpm)然后

yum install install lzop
rpm -i hadoop-gpl-packaging-0.6.1-1.x86_64.rpm
sudo cp /opt/hadoopgpl/native/Linux-amd64-64/* /usr/lib/hadoop/lib/native/
sudo cp /opt/hadoopgpl/lib/*lzo* /usr/lib/hadoop/lib/

对上述命令感到厌倦,不要覆盖你不想要的文件。所以在运行之前首先制作一个目标文件夹的背面。

答案 3 :(得分:0)

这意味着您的hadoop-lzo-***.jar不在HADOOP_CLASSPATH

然后,您可以将jar文件复制到hadoop/lib文件夹或添加路径hadoop/bin/hadoop-env.sh,您必须在所有您的节点上执行此操作

我希望它能解决它; - )