MapReduce 程式執行演示(示例PI程式 wordcount程式)
阿新 • • 發佈:2018-11-03
你說的9000埠應該指的是fs.default.name或fs.defaultFS(新版本)這一配置屬性吧,這個屬性是描述叢集中NameNode結點的URI(包括協議、主機名稱、埠號)
50070其實是在hdfs-site.xml裡面的配置引數dfs.namenode.http-address,預設配置為dfs.namenode.http-address,這是HDFS web介面的監聽埠
———————————————————————————————————————————————————————
MapReduce 程式執行演示
在 MapReduce 元件裡,官方給我們提供了一些樣例程式,其中非常有名的就是 wordcount 和 pi 程式。這些 MapReduce 程式的程式碼都在 hadoop-mapreduce-examples-2.7.5.jar 包裡,這 個 jar 包在 hadoop 安裝目錄下的/share/hadoop/mapreduce/目錄裡 下面我們使用 hadoop 命令來試跑例子程式,看看執行效果
MapReduce 示例 pi 的程式
[[email protected] ~]$ cd apps/hadoop-2.7.5/share/hadoop/mapreduce/ [[email protected] mapreduce]$ pwd /home/hadoop/apps/hadoop-2.7.5/share/hadoop/mapreduce [[email protected] mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.5.jar pi 5 5
MapReduce 示例 wordcount 的程式
[[email protected] mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.5.jar wordcount /wc/input1/ /wc/output1/
檢視結果
[[email protected] mapreduce]$ hadoop fs -cat /wc/output1/part-r-00000
問題分析:Input path does not exist
問題解決:分散式環境中建立input目錄
hdfs dfs -mkdir -p /user/hadoop
hdfs dfs -mkdir input
hdfs dfs -put ./*.xml input (一定要有xml檔案才能input)
[[email protected] mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.5.jar wordcount /wc/input1/ /wc/output1/
(問題2:如果output1已經有了就會報錯,只能向這個output1裡面寫入一次,雖然不知道為啥。難道是傳說中的一次寫入多次讀取。不懂不懂,反正先知道怎麼做,以後再考慮為什麼。。。。)