2014-12-01 28 views
1

我試圖在Hadoop 2.5.2的Mesos上運行一個簡單的WordCount示例。我已經成功設置了HDFS(實際上已經設置了YARN,並且工作正常)。 Mesos master正在運行並且有4個slave連接到它。 Mesos的Hadoop庫是0.0.8。Mesos 0.21.0上的Hadoop 2.5.2 - 無法獲取容器的URI

Hadoop的2.5.2的配置(mapred-site.xml):

<configuration> 
     <property> 
       <name>mapred.job.tracker</name> 
       <value>*.*.*.*:9001</value> 
     </property> 
     <property> 
       <name>mapred.job.tracker.http.address</name> 
       <value>*.*.*.*:50030</value> 
     </property> 
     <property> 
       <name>mapred.jobtracker.taskScheduler</name> 
       <value>org.apache.hadoop.mapred.MesosScheduler</value> 
     </property> 
     <property> 
       <name>mapred.mesos.taskScheduler</name> 
       <value>org.apache.hadoop.mapred.JobQueueTaskScheduler</value> 
     </property> 
     <property> 
       <name>mapred.mesos.master</name> 
       <value>*.*.*.*:5050</value> 
     </property> 
     <property> 
       <name>mapred.mesos.executor.uri</name> 
       <value>hdfs://*.*.*.*:9000/hadoop-2.5.0-cdh5.2.0.tgz</value> 
     </property> 
</configuration> 

我得從我的所有的奴隸以下日誌(舉例):

dbpc42:I1202 00:03 :12.066195 11232 launcher.cpp:137]叉形子 具有pid '18714' 的容器 'c10c2d2b-bf4b-469B-97a2-60c9720773b4'

dbpc42:I1202 00:03:12.068272 11232 containerizer.cpp:571]擷取 的URI容器 'c10c2d2b-bf4b-469B-97a2-60c9720773b4' 使用 命令 '/opt/mesos-0.21.0/build/src/mesos-fetcher'

dbpc42:I1202 00:03:12.140894 11226 containerizer.cpp:946]銷燬容器 'c10c2d2b-bf4b-469B-97a2-60c9720773b4'

dbpc42:E1202 00:03:12.141315 11229 slave.cpp:2787]容器「c10c2d2b-bf4b-469B-97a2- 60c9720773b4' 框架執行者'executor_Task_Tracker_93' '20141201-225046-698725789-5050-19765-0003'未能啓動:無法爲 獲取容器'c10c2d2b-bf4b的URI -469b-97a2-60c9720773b4' :退出 狀態256

dbpc42:I1202 00:03:12.242033 11231 containerizer.cpp:1117] 執行人容器 'c10c2d2b-bf4b-469B-97a2-60c9720773b4' 有 退出dbpc42 :I1202 00:03:12.243896 11225 slave.cpp:2898]有狀態退出框架 20141201-225046-698725789-5050-19765-0003的執行人 'executor_Task_Tracker_93' 1

工作跟蹤運行良好,與hadoop jar指揮工作在地圖0%減少0%。在mesos羣集信息中,TASKS_LOST計數器一直向上,直到我終止該作業。 Mesos和JobTracker以root用戶身份運行,作業以用戶hdfs運行。

什麼是這個URI的問題呢?

謝謝你的幫助或提示!

(如果需要的話,我會提供更多的信息。)

UPDATE

開始在同一臺PC,其中主運行將獲得任務到臨時狀態上的奴隸。 5,每次。

mapred-mesos.executor.uri已從IP更改爲dbpc41(主PC)。

<property> 
    <name>mapred.mesos.executor.uri</name> 
    <value>hdfs://dbpc41:9000/hadoop-2.5.0-cdh5.2.0.tgz</value> 
</property 

由於(可能)無法獲取執行程序URI,其他4個從屬程序仍然失去任務。

這些是從第5從動在同一臺PC上運行的日誌其中主做:

I1202 16:17:57.434345 1405 containerizer.cpp:571]擷取的URI 容器「5f33123b-00eb -4e05-9dcc-30f16f5eee44'使用命令 '/opt/mesos-0.21.0/build/src/mesos-fetcher'I1202 16:18:08.620708 1412 slave.cpp:2840]監視執行器'executor_Task_Tracker_445' 框架'20141201-225046-698725789-5050-19765-0012'in container '5f33123b-00eb-4e05-9dcc-30f16f5eee44'I1202 16:18:09.022902 1407 containerizer.cpp:1117]容器執行器 '5f33123b-00eb-4e05-9dcc-30f16f5eee44'已退出I1202 16:18:09.022964 1407 containerizer.cpp:946]銷燬容器 '5f33123b-00eb-4e05-9dcc-30f16f5eee44'W1202 16:18: 11.369912 1407 containerizer.cpp:888]跳過資源統計集裝箱 5f33123b-00eb-4e05-9dcc-30f16f5eee44因爲:無法使用:在沒有找到 過程11093 W1202 16:18:11.369971 1407 containerizer.cpp:888 ]跳過資源統計集裝箱 5f33123b-00eb-4e05-9dcc-30f16f5eee44因爲:無法使用:在11093 I1202沒有找到 過程16:18:11.399648 1412 slave.cpp:框架 2898] 執行人 'executor_Task_Tracker_445' 2 0141201-225046-698725789-5050-19765-0012以狀態1退出I1202 16:18:11.401949 1412 slave.cpp:2215]用於任務Task_Tracker_445的處理狀態更新TASK_LOST (UUID:959709c2-5546-41fd-9af3-09f024bb6354) 框架20141201-225046-698725789-5050-19765-0012 from @ 0.0.0.0:0 W1202 16:18:11.402245 1409 containerizer.cpp:852]忽略更新 未知容器:5f33123b-00eb-4e05-9dcc- 30f16f5eee44 I1202 16:18:11.403017 1410 status_update_manager.cpp:317]接收的狀態更新 TASK_LOST(UUID:959709c2-5546-41fd-9af3-09f024bb6354)爲任務 框架 20141201-225046-698725789-5050-19765-的Task_Tracker_445 0012 I1202 16:18:11.403437 1406 slave.cpp:2458]轉發更新TASK_LOST(UUID: 959709c2-5546-41fd-9af3-09f024bb6354),用於任務的Task_Tracker_445 框架20141201-225046-698725789-5050-19765-0012到 [email protected]:5050 I1202 16:18:11.448752 1409 status_update_manager.cpp:389]接收的狀態更新確認 (UUID:959709c2-5546-41fd-9af3-09f024bb6354)框架的任務Task_Tracker_445 20141201-225046-698725789-5050-19765-0012 I1202 16:18:11.449354 1408從的.cpp:3007]框架 20141201-225046-698725789-5050-19765-0012 I1202的清理執行 'executor_Task_Tracker_445' 16:18:11.449707 1405 gc.cpp:56]調度 「/ TMP/mesos /從站/ 20141201-225046-698725789-5050-19765 -S4/frameworks/20141201-225046-698725789-5050-19765-0012/executors/executor_Task_Tracker_445/runs/5f33123b-00eb-4e05-9dcc-30f16f5eee44' for gc 6.99999479755852days in the future I1202 16:18:11.450034 1409 gc .cpp:56] Scheduling '/ tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S4/frameworks/20141201-225046-698725789-5050-19765-0012/executors/executor_Task_Tracker_445'for gc 6.9999947929037days in未來I1202 16:18:11.450147 1408 奴隸。清除框架 20141201-225046-698725789-5050-19765-0012 I1202 16:18:11.450213 1406 status_update_manager.cpp:279關閉狀態更新流 框架20141201-225046-698725789-5050-19765- 0012 I1202 16:18:11.450381 1412 gc.cpp:56] Scheduling '/ tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S4/frameworks/20141201-225046-698725789-5050-19765-0012 ' 在未來I1202 GC6.99999478812444天16:18:12.441505 1405 slave.cpp:1083] GOT分配的任務Task_Tracker_472對於框架 20141201-225046-698725789-5050-19765-0012 I1202 16:18:12.442337 1405 GC .cpp:84] Unscheduling '/ tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S4/frameworks/201 41201-225046-698725789-5050-19765-0012' from gc I1202 16:18:12.442617 1405 slave.cpp:1193]啓動任務 框架的Task_Tracker_472 20141201-225046-698725789-5050-19765-0012 I1202 16:18 :12.444263 1405 slave.cpp:3997]啓動執行器executor_Task_Tracker_472 framework 20141201-225046-698725789-5050-19765-0012工作目錄 '/ tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S4/frameworks/20141201-225046-698725789-5050-19765-0012/executors/executor_Task_Tracker_472/runs/2310c642-02bf-401b-954c-876c88675c31' I1202 16:18:12.444756 1405 slave.cpp:1316]排隊任務 'Task_Tracker_472 '執行者executor_Task_Tracker_472框架 '20141201-225046-698725789-5050-19765-0012 I1202 16:18 :12.444793 1406 containerizer.cpp:424]啓動容器 '2310c642-02bf-401B-954C-876c88675c31' 的執行器框架 '20141201-225046-698725789-5050-19765-0012' I1202的 'executor_Task_Tracker_472' 16:18 :12.447434 1406 launcher.cpp:137]叉形子具有pid '11549' 的容器 '2310c642-02bf-401B-954C-876c88675c31' I1202 16:18:12.448652 1406 containerizer.cpp:571]擷取的URI容器 '2310c642-02bf-401B-954C-876c88675c31' 使用命令 '/opt/mesos-0.21.0/build/src/mesos-fetcher'

+0

您使用的是什麼版本的Mesos? 您使用的是什麼版本的hadoop-mesos? 您是否正在遵循特定的教程,或僅使用https://github.com/mesos/hadoop中的自述文件? – Adam 2014-12-02 09:03:00

+0

@Adam我使用的是Mesos 0.21.0和Hadoop的庫0.0.8。是的,我正在關注GitHub的README。 – Dyin 2014-12-02 12:06:31

回答

2

經過執行日誌(stderr/tmp/mesos/slaves/...),並發現JAVA_HOME沒有設置,所以hadoop dfs命令無法運行,以獲取執行人。 URI非常完美,沒有設置JAVA_HOME。此外,我必須在啓動從站時設置HADOOP_HOME

1

貌似Mesos從站不能獲取其中一個URI,可能是執行者本身。

您是否按照mapred.mesos.executor.uri的規定,將您在Mesos發行版上修改的Hadoop(包括hadoop-mesos-0.0.8.jar)上傳到hdfs://*.*.*.*:9000/hadoop-2.5.0-cdh5.2.0.tgz?它可以從奴隸訪問嗎?

+0

是的,我確實上傳了它。如何正確檢查從站的可訪問性? – Dyin 2014-12-02 12:07:28

+0

我也嘗試將'mapred.mesos.executor.uri'指定爲IP地址和FQDN。該文件本身就是用戶'hdfs',即運行JobTracker。還試圖用root運行JobTracker。該文件獲得了777個權限。 – Dyin 2014-12-02 12:12:36

+0

我從Hadoop版本2.5.2運行HDFS。可能存在與Mesos 0.21.0的任何HDFS不兼容? – Dyin 2014-12-02 12:18:13