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裏面的包它天然會下載更改。apache

  但問題是,maven independencies裏面的包,並非全部的hadoop版本都包含,例如hadoop-core最高的版本就是1.2.1, 這可要嚇死寶寶了,難道說,要運行maven就只能用低版本的hadoop嗎?顯然不可能,必定是有其餘的緣由,忽然看到一個帖子,繞過hadoop-core,設置了別的屬性,好比hadoop-hdfs等屬性,這些屬性的最高版本已經到了2.5.1了這樣一來,就不會報錯了,大功告成,個人pom.xml文件是這麼設置的:maven

<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這三個,而是寫了個:oop

<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>
相關文章
相關標籤/搜索