1. 程式人生 > >Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

oms 配置參數 org 自己 exception http user 缺少文件 msg

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案例