map减少字数例子

时间:2013-12-10 12:10:20

标签: hadoop mapreduce

我想用map reduce运行一个简单的字数统计示例。但我有这个问题,不知道如何解决它。

Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    org/apache/hadoop/mapred/JobTrackerInstrumentation.create(Lorg/apache/hadoop/mapred/JobTracker;Lorg/apache/hadoop/mapred/JobConf;)Lorg/apache/hadoop/mapred/JobTrackerInstrumentation; @5: invokestatic
  Reason:
    Type 'org/apache/hadoop/metrics2/lib/DefaultMetricsSystem' (current frame, stack[2]) is not assignable to 'org/apache/hadoop/metrics2/MetricsSystem'
  Current Frame:
    bci: @5
    flags: { }
    locals: { 'org/apache/hadoop/mapred/JobTracker', 'org/apache/hadoop/mapred/JobConf' }
    stack: { 'org/apache/hadoop/mapred/JobTracker', 'org/apache/hadoop/mapred/JobConf', 'org/apache/hadoop/metrics2/lib/DefaultMetricsSystem' }
  Bytecode:
    0000000: 2a2b b200 03b8 0004 b0 

3 个答案:

答案 0 :(得分:8)

我有同样的问题,它通过删除Maven中的一些不需要的引用(hadoop-common和hadoop-hdfs)得到解决。 我正在使用Windows的hadoop 2.2.0,连接到Linux hadoop单节点集群。

答案 1 :(得分:2)

下面的依赖顺序解决了我的问题。

hadoop-core 1.2.1
hadoop-common 2.6.0

答案 2 :(得分:0)

以下依赖关系对我有用

<dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>1.2.1</version>
        </dependency>       

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.6.0</version>
        </dependency>     

    </dependencies>