zoukankan      html  css  js  c++  java
  • maven在Idea建立工程,运行出现Server IPC version 9 cannot communicate with client version 4错误

      问题的根源在于,工程当中maven dependencies里面的包,有个hadoop-core的包,版本太低,这样,程序里面所有引用到org.apache.hadoop的地方,都是低版本的,你用的是maven3的话,默认是hadoop-core-1.2.1.jar,这个就是那个“ipc client version4”, 而一般情况下你的电脑里运行的hadoop都是2.x,显然版本不对,于是我就想办法修改这个,但是maven装上之后就不能随便改里面的包,折腾半天之后,发现只能通过工程的pom.xml文件来改,在这个里面改了之后,maven dependencies里面的包它自然会下载更改。

      但问题是,maven independencies里面的包,并不是所有的hadoop版本都包含,例如hadoop-core最高的版本就是1.2.1, 这可要吓死宝宝了,难道说,要运行maven就只能用低版本的hadoop吗?显然不可能,一定是有其他的原因,突然看到一个帖子,绕过hadoop-core,设置了别的属性,比如hadoop-hdfs等属性,这些属性的最高版本已经到了2.5.1了这样一来,就不会报错了,大功告成,我的pom.xml文件是这么设置的:

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

      原先我是没有设置hadoop-common、hadoop-hdfs、hadoop-client这三个,而是写了个:

    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>
    <version>1.2.1</version>
    </dependency>
  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/lcngu/p/8444037.html
Copyright © 2011-2022 走看看