在eclipse中編寫Hadoop的WordCount程式,並在eclipse中執行
基於Windows7 + jdk1.8.0_162 + eclipse4.7.2 + Hadoop2.7.7
一、安裝eclipse(自行百度)
二、安裝jdk(自行百度)
三、下載maven倉庫並在eclipse中配置maven環境(後面的文章講)
四、在eclipse中新建一個maven專案
五、在pom.xml檔案中新增相關依賴
dependencies> <dependency> 注:這個依賴根據自己環境來看是否需要這部分 <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.8</version> <scope>system</scope> <systemPath>D:\Java\jdk1.8.0_162/lib/tools.jar</systemPath> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.2</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.7.7</version> </dependency> </dependencies>
六、在專案的src/main/resources目錄下,新建一個檔案,命名為“log4j.properties”,在檔案中填入。
log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=target/spring.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d%p[%c]- %m%n
七、編寫WordCount程式(WordCount例項下載)
(1)編寫Mapper類
(2)編寫Reducer類
(3)編寫Driver類
八、執行行時報錯
ERROR [org.apache.hadoop.util.Shell] - Failed to locate the winutils binary in the hadoop binary pat…
九、在Windows下安裝Hadoop
(1)下載Hadoop(Hadoop官網下載地址:https://hadoop.apache.org/releases.html);
(2)下載hadoop-2.7.7.tar.gz壓縮包並進行解壓(非中文目錄)
十、配置環境變數
(1)新增HADOOP_HOME
(2)在path中新增Hadoop
十一、若解壓的Hadoop的bin目錄中沒有winutils.exe檔案時,需要向bin目錄中新增一個winutils.exe(hadoop-common-2.7.1-bin-master-master.zip下載)
解壓到Hadoop的bin目錄中;
十二、執行WordCount程式
十三、程式執行成功後生成的檔案(開啟最後一個檔案就是計數的結果)