Hadoop實踐(二)---叢集和開發環境搭建(Intellij IDEA & Maven 開發Hadoop)
1. 開發環境準備
1. Hadoop叢集安裝
2. Maven安裝
3. Intellij IDEA安裝
2. 建立專案
1. 建立Maven專案
2. 輸入GroupId 和 ArtifactId
新建專案後有提示 Maven project need to be imported ,選擇匯入
3. 修改pom.xml檔案
根據hadoop版本新增相應的依賴版本
ps:編寫程式碼需要用到什麼依賴,就在pom.xml中新增相應的依賴即可
新增apache的源
repositories>
<repository>
<id>apache</id>
<url>http://maven.apache.org</url>
</repository>
</repositories>
Tips:在新增Hadoop生態系統相關的依賴時,使用<scope>provided</scope>
,這樣在生成的jar包中不包含這些依賴庫,即在程式編譯時使用這些依賴庫,但是不把它們打包到最終的jar中,因為在執行hadoop作業的節點上都有這些依賴包,這樣可以簡化jar包的大小,優化了它在叢集中的傳輸
Hadoop基礎依賴:
hadoop-common
hadoop-core
需要訪問HDFS時需要的2個依賴
hadoop-hdfs
hadoop-client
日誌訪問需要的依賴
log4j
配置log4j
在src/main/resources目錄下新增log4j的配置檔案log4j.properties,內容如下:
log4j.rootLogger = debug,stdout
### 輸出資訊到控制擡 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout .Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
開發HBase需要的依賴
hbase-client
開發Mahout需要的依賴
mahout-core
dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-jobclient</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
4. 新增本地依賴
通過修改工程結構的方式新增hadoop的本地依賴
需要新增的Hadoop本地依賴如下:
hadoop/share/hadoop/yarn
hadoop/share/hadoop/mapreduce
hadoop/share/hadoop/hdfs
hadoop/share/hadoop/commom
hadoop/share/hadoop/common/lib
5. 編寫程式碼
在src/main/java
資料夾下建立Java類檔案
6. IDE 除錯
- 和src目錄同級的目錄中建立輸入目錄input
- 在IDE中進行執行引數的配置
輸入名字,找到主類,可以通過右側的按鈕搜尋,輸入執行時的引數配置分為本地路徑和HDFS路徑
7. 打包
這裡的“Directory for META-INF/MAINFEST.MF”修改為src/main/resources
建立一個lib資料夾,將第三方庫都放在lib中
可以使用mvn命令打包(會在target中生成jar檔案)也可是使用IDE打包,在src同級目錄下生成out目錄生成的jar包在該目錄下
在/out/目錄下生產需要的jar包
8. jar包傳送到叢集執行
yarn xx.jar args