Linux 搭建Hadoop集群 ----workcount案例
在
Linux搭建集群---JDK配置
Linux搭建集群---SSH免密登陸
Linux搭建集群---集群搭建成功
的基礎上實現workcount案例
註意
虛擬機三臺啟動集群(自己親自搭建)
1. wordcount程序
1.1Hadoop集群測試WordCount程序
1.1.1 在hadoop目錄下創建一個wordcount文件夾
1.1.2切換到wordcount文件夾,新增兩個文件,並且編輯內容
文件內容如下:
文件內容如下:
1.1.3在HDFS中創建input文件夾
1.1.4查看HDFS中的文件夾
1.1.5 將創建的兩個文件復制到/input目錄中
1.1.6查看input文件夾下內容
1.1.7 運行wordcount程序
切換到hadoop安裝目錄下share/hadoop/mapreduce目錄下,hadoop自帶運行wordcount程序的jar包
使用jar命令運行wordcount程序,input代表計算文件位置,output代表計算結果指定位置
1.1.8查看運行結果
hadoop fs -cat /output/*
1.2 eclipse集成hadoop插件
1.2.1 如果eclipse安裝到windows當中,那麽就需要在真機安裝Hadoop
配置hadoop環境變量(將hadoop-2.8.0用管理員用戶解壓)
查看JDK 和Hadoop的版本號(不用管理員的身份)
1.2.2 下載hadoop-eclipse-plugin-2.6.0.jar賦值到eclipse安裝目錄下的plugins目錄下
1.2.3配置hadoop安裝目錄
1.2.4配置插件
註意:主機名稱亦可以換成ip地址,但是真機hosts文件要配置對應關系
1.3 eclipse運行wordcount程序
1.3.1新建一個mapreduce程序
1.3.2創建WordCount運行程序
在真機安裝的hadoop下找到hadoop-mapreduce-examples-2.8.0-sources.jar,目錄為..../hadoop-2.8.0\share\hadoop\mapreduce\sources
以解壓包方式打開,找到WordCount.java,目錄為:
hadoop-mapreduce-examples-2.8.0-sources.jar\org\apache\hadoop\examples
右鍵打開方式---360壓縮
1.3.3運行WordCount程序
點擊WordCount.java文件,配置啟動參數
報錯:
其中配置參數中master可以改為ip地址,如果配置成master那麽需要在真機hosts文件當中配置master和ip的對應關系!
參考網址:
https://blog.csdn.net/Biexiansheng/article/details/78019642?tdsourcetag=s_pcqq_aiomsg
如下操作:
添加以下信息:
第一種錯誤信息:
此錯誤可能在hadoop安裝目錄下缺少文件,將次壓縮包的所有文件復制到hadoop安裝目錄下的bin
第二個錯誤
hadoop-2.8.0\share\hadoop\common\sources文件夾中找到hadoop-common-2.8.0-sources.jar,然後以壓縮包的方式打開,找到hadoop-common-2.8.0-sources\org\apache\hadoop\io\nativeio\NativeIO.java,復制到項目中,註意,包名和報錯的包名保持一致,org.apache.hadoop.io.nativeio
打開代碼:
將
改為:
錯誤2:
org.apache.hadoop.security.AccessControlException: Permissiondenied: user=zhengcy, access=WRITE,inode="/user/root/output":root:supergroup:drwxr-xr-x
在集群中運行hadoop fs -chmod 777 /
運行結果如下所示:
1.4將WordCount程序打成jar包放在集群中運行
1.4.1將程序打包
點擊項目-->右鍵-->選擇Export-->找到Runnable JAR File
點擊Finish,將打包好的Jar包通過XFTP傳入到Linux指定位置(/usr/bigdata/hadoop)
在XShell中切換到Jar文件存放位置路徑,通過命令運行查看 切入到wordcount.jar 架包所存放的位置 執行以下命令
Linux 搭建Hadoop集群 ----workcount案例