一、Hadoop環境配置概述
三台虛擬機,操作系統為:Ubuntu 16.04。
Hadoop版本:2.7.2
NameNode:192.168.72.132
DataNode:192.168.72.135,192.168.72.136
注:具配置過程,不具備介紹了,網上很多。
二、eclipse(JAVA)環境配置概述
操作系統:Windows 10
eclipse版本:Mars.2 Release (4.5.2)
1.hadoop-eclipse-plugin-2.7.2.jar組件放plugins目錄 下,具體如何配置去網上找。
2.配置HADOOP_HOME環境變量:E:\hadoop-2.7.2,配置PATH環境變量,增加:%HADOOP_HOME%\bin
3.下載:winutils.exe和Hadoop.dll兩個文件,放到E:\hadoop-2.7.2\bin下;Hadoop.dll放到Windows\System32下載。
4.引用hadoop組件包,為了正確性,share\hadoop\common、share\hadoop\hdfs、share\hadoop\mapreduce、share\hadoop\yarn,以及每個目錄下的lib中的jar包全部引用。
5.新建項目wordcount,網上一大堆代碼,直接復制就行了。
6.支行效果:
StackTrace " 在 System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n 在 System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n 在 System.Threading.Tasks.Task.Wait()\r\n 在 Microsoft.Hadoop.WebClient.WebHCatClient.WebHcatMapReduceStreamingExecutor.Execute(Boolean throwOnError)\r\n 在 Microsoft.Hadoop.MapReduce.Execution.Hadoop.StreamingJobExecutorBase.ExecuteCore(Type mapper, Type reducer, Type combiner, HadoopJobConfiguration config)\r\n 在 Microsoft.Hadoop.MapReduce.Execution.Hadoop.StreamingJobExecutorBase.Execute(Type mapperType, Type reducerType, Type combinerType, HadoopJobConfiguration config)\r\n 在 Microsoft.Hadoop.MapReduce.Execution.Hadoop.StreamingJobExecutorBase.Execute[TMapper,TReducer](HadoopJobConfiguration config)\r\n 在 Hadoop_Demo.Program.Main(String[] args) 位置 C:\\Users\\WXZZ\\Desktop\\Hadoop_Demo\\Hadoop_Demo\\Program.cs:行號 61" string
找遍網絡,這個問題也一直沒有解決掉,其中有個回復,請參考:
如果是Hdfs協議 的問題,那麼StorageSystem操作不會執行成功。而單單是mapreduce執行失敗,我懷疑是否是webhcat配置有問題,或者請求數據協議本身的問題。
四、總結
只是一個小實驗,還沒有真正的應用的生產環境。一直用C#開發,出現這個問題,無法解決,也是挺無助的。先進行小結,以後慢慢研究。
五、組件和源代碼下載
http://pan.baidu.com/s/1i48Ln4D