1. 程式人生 > >使用IDEA2017在Windows下程式設計並測試Hadoop2.7+Spark2.2

使用IDEA2017在Windows下程式設計並測試Hadoop2.7+Spark2.2

1. 下載好IDEA HADOOP SPARK

 

首先,配置IDEA, 在外掛管理中使用IDEA線上庫安裝scala外掛, 在線上庫直接搜尋即可;

其次,配置Maven選項, 將Maven新增到IDEA;

最後,將windows依賴覆蓋原先的linux依賴, 如下圖;

 

 

 

2. 向IDEA匯入HADOOP jar包, 將本地hadoop下的, share目錄中的五個資料夾匯入, 如下圖:

 

 

 

 

 將配置檔案放入resources後,執行一些測試程式後發現:

 

報錯:  

org.apache.hadoop.security.AccessControlException: Permission denied

解決:  hadoop fs -chmod -R 755 /

 

另外:  在pom中需加入:

<dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>${hadoop.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>${hadoop.version}</version>
        </dependency>

  

最嚴重的如下, 因為我使用的mapred預設是yarn模式, 因此需要設定跨平臺傳送jar包:

Exception message: /bin/bash: line 0: fg: no job control

 

解決:

Configuration conf = new Configuration();
conf.set("mapred.remote.os","Linux");
conf.set("mapreduce.app-submission.cross-platform","true");
conf.set("mapred.jar","D:\\WorkSpace\\Web-DataAnalyze\\pc\\out\\artifacts\\pc\\pc.jar");

 

 終於能run了!!!