地图减少字数示例

  • 本文关键字:地图 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 

我也遇到了同样的问题,通过删除Maven中一些不需要的引用(hadoop-common和hadoop-hdfs)解决了这个问题。我使用的是Windows中的hadoop 2.2.0,连接到Linux hadoop单节点集群。

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

hadoop-core 1.2.1
hadoop-common 2.6.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>

相关内容

  • 没有找到相关文章

最新更新