1

私は map reduce プログラムの初心者で、プログラムの実行中に次のエラーが発生しました。

    Exception in thread "main" java.lang.VerifyError: (class: com/google/common/collect
/Interners, method: newWeakInterner signature: ()Lcom/google/common/collect/Interner;) Incompatible argument to function

エラーは何ですか? また、どの jar ファイルを含める必要がありますか?

4

2 に答える 2

1

これは遅い応答ですが、実際に同じ問題に遭遇したので、この状況を回避するために解決策を講じると思いました: http://xkcd.com/979/

私の場合、pom に間違った依存関係があったことが原因でした。Cloudera を実行していて、標準の jdbc クライアントを使用して接続しようとしていました。

cdh に接続するには、そこにリストされている依存関係を使用します: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/4.2.0/CDH4-Installation-Guide/cdh4ig_topic_31.html

または使用しているclouderaのバージョン

したがって、クライアントの依存関係は次のようになります。

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>2.0.0-mr1-cdh4.0.0</version>
    </dependency>

ではない:

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

また、実行中の Hadoop の種類、YARN または mr1 にも注意してください。

もちろん、あなたの問題は異なるかもしれませんが、これがお役に立てば幸いです。

于 2014-01-21T11:20:37.143 に答える