象鸟mvn包错误

我在我的系统中安装了hadoop 2.2。 我想用象鸟jar。 在运行“mvn package”时出现以下错误。

错误:


[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project elephant-bird-core: Compilation failure: Compilation failure: [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [9,39] error: package org.apache.commons.lang3.builder does not exist [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [10,31] error: package org.apache.thrift.scheme does not exist [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [11,31] error: package org.apache.thrift.scheme does not exist [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [12,31] error: package org.apache.thrift.scheme does not exist [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [14,31] error: package org.apache.thrift.scheme does not exist [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [15,33] error: cannot find symbol [ERROR] package org.apache.thrift.protocol [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [20,0] error: package org.apache.thrift.server.AbstractNonblockingServer does not exist [ERROR] /usr/lib/hadoop/elephant_bird/core/target/generated-sources/thrift/com/twitter/elephantbird/thrift/test/TestListInList.java: [42,43] error: cannot find symbol 

我在pom.xml中添加了以下代码,但仍然存在错误。

  org.apache.commons commons-lang3 3.1  

我该如何解决这个错误?

系统配置

 Thrift version 0.9.1 Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:28+0530) Maven home: /usr/lib/mvn/apache-maven-3.0.5 Java version: 1.7.0_25, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre Default locale: en_IN, platform encoding: UTF-8 OS name: "linux", version: "3.5.0-43-generic", arch: "amd64", family: "unix" Hadoop 2.2.0.2.0.6.0-76 

通过从http://archive.apache.org/dist/thrift/0.7.0/thrift-0.7.0.tar.gz下载,将Thrift从0.9.1更改为0.7.0。 提取并进入解压缩的文件夹。 然后输入以下命令:

  • chmod + x ./configure
  • 。/配置
  • 使
  • sudo make install

通过键入thrift -version来检查thrift版本。 这应该返回“Thrift version 0.7.0”

然后转到elephant-bird文件夹并输入“mvn -Dmaven.test.skip = true package”

注意:使用跳过测试是因为某些测试失败了。 跳过测试选项解决了这个问题。

控制台输出:

 [INFO] Building jar: /usr/lib/hadoop/elephant_bird/examples/target/elephant-bird-examples-4.4-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Elephant Bird ..................................... SUCCESS [2.043s] [INFO] Elephant Bird Cascading2 .......................... SUCCESS [4.277s] [INFO] Elephant Bird Core ................................ SUCCESS [16.622s] [INFO] Elephant Bird Hadoop Compatibility ................ SUCCESS [0.106s] [INFO] Elephant Bird Hive ................................ SUCCESS [0.462s] [INFO] Elephant Bird Mahout .............................. SUCCESS [5.026s] [INFO] Elephant Bird Pig ................................. SUCCESS [9.756s] [INFO] Elephant Bird RCFile .............................. SUCCESS [3.745s] [INFO] Elephant Bird Lucene .............................. SUCCESS [3.320s] [INFO] Elephant Bird Pig Lucene .......................... SUCCESS [1.736s] [INFO] Elephant Bird Examples ............................ SUCCESS [6.653s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 55.204s [INFO] Finished at: Wed Jan 15 01:28:31 IST 2014 [INFO] Final Memory: 64M/386M [INFO] ------------------------------------------------------------------------ 

编辑:当编译JsonLoader的加载语句时,猪正在抛出错误,因为找不到json-simple-1.1.1.jar。 谷歌的jar,你可以轻松找到它。 (由于声誉低于10,无法发布链接)

关于hadoop-compat,在启动猪工作时抛出了一个错误。 下载http://repo1.maven.org/maven2/com/twitter/elephantbird/elephant-bird-hadoop-compat/4.4/elephant-bird-hadoop-compat-4.4.jar (也可在 /hadoop-compat/target/elephant-bird-hadoop-compat-4.4-SNAPSHOT.jar

注册4个Jars在Pig中使用Elephant-Bird插件。