之前上課做過一次Hadoop實驗。之後很久都沒有再使用。這次又歷時兩天+看之前的比較+百度才把環境搭好。把之前的截圖存起來吧。有點像小孩的簡筆畫。自己可能比較好理解。
- 環境搭好之後。準備一個Wordcount代碼和一個 Hadoop-eclipse插件。
- 找到自己eclipse安裝目錄。將插件拷貝進去。 如果拷貝至plugins文件夾下在eclipse中無法打開hdfs。 就拷貝至dropins
可以參考:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2860579.html
- 啓動eclipse
- 加載Hadoop安裝目錄
- 找出mapreduce控制檯
- 設置HDFS 配置信息
- master位置對應你的主機名稱。 或者主機IP地址。Locationg name 可以任意填寫
- 之後選擇MapReduce操作界面
- 配置成功可以看到之前建立好的文件目錄(安裝Hadoop過程中,創建過纔會有)
- 可以先創建。Wordcount的輸入目錄。並上傳需要統計的文件。可以上傳兩個txt文本文件。
- 新建Hadoop項目。
- 將代碼拷貝至工程。準備配置參數。運行。
- 注意! 輸出目錄。不能預先存在。 否則會報錯。 程序不會覆蓋原目錄。 eg:out8 不能存在。
- Run on Hadoop . 選擇在集羣上運行
- 查看運行結果
run as hadoop 提示如下警告:
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
論壇有解決辦法經測試成功解決我的問題,以此記錄。
這種情況一般是由於log4j這個日誌信息打印模塊的配置信息沒有給出造成的,可以在項目的src目錄下,新建一個文件new->other->general->file,命名爲“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
保存後重新運行即可成功。