在僞分佈式模式下運行map reduce有一些問題。我在linux上運行版本1.2.1。我有: 1.創建$ JAVA_HOME & $ HADOOP_HOME並將相對bin目錄添加到路徑; 2.格式化dfs; 3.執行start-dfs.sh和start-mapred.sh。Hadoop - 示例中包含的示例jar無法在僞分佈式模式下完成
執行jps似乎顯示所有正在運行的應用程序(我認爲)。
[[email protected] bin]$ jps
8724 TaskTracker
8487 SecondaryNameNode
8841 Jps
8353 DataNode
7239 NameNode
8597 JobTracker
我已經然後試圖具有類似的結果運行該單詞計數和pi實例,例如:
[[email protected] bin]$ hadoop jar hadoop/hadoop-examples-1.2.1.jar pi 4 1000
Warning: $HADOOP_HOME is deprecated.
Number of Maps = 4
Samples per Map = 1000
Wrote input for Map #0
Wrote input for Map #1
Wrote input for Map #2
Wrote input for Map #3
Starting Job
13/11/18 10:31:38 INFO mapred.FileInputFormat: Total input paths to process : 4
13/11/18 10:31:39 INFO mapred.JobClient: Running job: job_201311181028_0001
13/11/18 10:31:40 INFO mapred.JobClient: map 0% reduce 0%
13/11/18 10:31:47 INFO mapred.JobClient: map 50% reduce 0%
13/11/18 10:31:52 INFO mapred.JobClient: map 100% reduce 0%
在輸出達到地圖中的每個實例100%減少0%階段然後攤位。無論等待多久,這項工作都不會再向前邁進。我檢查了日誌和一個我懷疑是指出問題是Hadoop的保羅的TaskTracker-lt001.log它具有以下的輸出:
2013-11-18 10:31:55,969 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 10:34:59,148 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 10:35:05,196 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 10:35:11,253 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
..........
2013-11-18 11:10:03,259 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:06,290 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:12,320 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:18,343 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:21,369 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:27,395 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:33,426 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
2013-11-18 11:10:36,463 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201311181028_0001_r_000000_0 0.0% reduce > copy >
這似乎是這裏的同一個問題:
Running Hadoop examples halt in Pseudo-Distributed mode
已經檢查了JobTracker網頁上的狀態,並且此運行顯示4個完成的地圖任務和1個運行(40分鐘後完成0%)減少任務。
它似乎卡住了減少>複製>但爲什麼?任何人都可以幫助下一步看什麼?
UPDATE
我想我有一些更多的信息。如果我看的運行降低任務
(http://localhost:50030/taskdetails.jsp?tipid=task_201311201256_0001_r_000000)
我看到它被分配到機器/default-rack/hit-nxdomain.opendns.com
如果我再嘗試,然後點擊「上次4KB任務日誌」鏈接發送我
http://hit-nxdomain.opendns.com:50060/tasklog?attemptid=attempt_201311201256_0001_r_000000_0&start=-4097
修改這個網址
http://localhost:50060/tasklog?attemptid=attempt_201311201256_0001_r_000000_0&start=-4097
則顯示日誌與許多電子以下的xamples:
2013-11-20 14:59:54,726 INFO org.apache.hadoop.mapred.ReduceTask: Penalized(slow) Hosts:
2013-11-20 14:59:54,726 INFO org.apache.hadoop.mapred.ReduceTask: hit-nxdomain.opendns.com Will be considered after: 814 seconds.
2013-11-20 15:00:54,729 INFO org.apache.hadoop.mapred.ReduceTask: attempt_201311201256_0001_r_000000_0 Need another 4 map output(s) where 0 is already in progress
2013-11-20 15:00:54,729 INFO org.apache.hadoop.mapred.ReduceTask: attempt_201311201256_0001_r_000000_0 Scheduled 0 outputs (1 slow hosts and0 dup hosts)
2013-11-20 15:00:54,730 INFO org.apache.hadoop.mapred.ReduceTask: Penalized(slow) Hosts:
2013-11-20 15:00:54,730 INFO org.apache.hadoop.mapred.ReduceTask: hit-nxdomain.opendns.com Will be considered after: 754 seconds.
如此看來,認爲Hadoop的任務是hit-nxdomain.opendns.com主機上運行。
主機(本地主機)通過將DNS設置爲DNS服務器,通過DHCP選擇它的DNS設置。路由器反過來使用opendns.com來解析外部地址。
我是否認爲這是DNS問題?
任何想法如何hadoop結束了這個主機名?
任何想法如何解決它?
您是否嘗試在獨立模式下運行您的任務? (試試這可以確保你的代碼/數據是正確的) – xhudik
非常感謝你的迴應。這兩個作業都以獨立模式運行。我能夠解決這個問題。見下面的答案。 – user2177934
嗯奇怪的錯誤 - 偉大的,你能解決它!我也有一些hbase和NDS的麻煩 – xhudik