关于hadoop 2.2.0 maven依赖性的火花0.9.1

fau*_*sun 5 java hadoop maven apache-spark

我在pom.xml中设置了Apache Spark maven依赖,如下所示

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>0.9.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但我发现这个依赖使用" hadoop-client-1.0.4.jar "和" hadoop-core-1.0.4.jar ",当我运行我的程序时,我收到错误" org.apache.hadoop.ipc. RemoteException:服务器IPC版本9无法与客户端版本4 " 通信,这表明我需要将hadoop版本从1.0.4切换到2.2.0.

更新:

以下解决方案是解决此问题的正确方法吗?

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>0.9.1</version>
        <exclusions>
            <exclusion> 
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-core</artifactId>
            </exclusion>
            <exclusion> 
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
            </exclusion>
        </exclusions> 
    </dependency> 
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>2.2.0</version>
    </dependency> 
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助.

Tob*_*ber 1

Spark 1.2.0 默认依赖于 hadoop 2.2.0。如果您可以将 Spark 依赖项更新到 1.2.0(或更高版本),就可以解决问题。