0

stderr运行 map-reduce 作业时记录以下内容:

root@dbpc42:/tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S24/frameworks/20141201-225046-698725789-5050-19765-0016/executors/executor_Task_Tracker_2/runs/latest# ls
hadoop-2.5.0-cdh5.2.0  hadoop-2.5.0-cdh5.2.0.tgz  stderr  stdout

内容stderr

警告:在将 InitGoogleLogging() 写入 STDERR I1202 19:41:40.323521 7223 fetcher.cpp:76] 之前记录日志正在获取 URI 'hdfs://dbpc41:9000/hadoop-2.5.0-cdh5.2.0.tgz' I1202 19: 41:40.323685 7223 fetcher.cpp:105] 将资源从 'hdfs://dbpc41:9000/hadoop-2.5.0-cdh5.2.0.tgz' 下载到 '/tmp/mesos/slaves/20141201-225046-698725789-5050 -19765-S24/frameworks/20141201-225046-698725789-5050-19765-0016/executors/executor_Task_Tracker_0/runs/59c9a5ac-c376-4e9e-b9b7-63a24ae84dcd/hadoop-2.5.0-cdh5.2.0.tg

I1202 19:41:48.779220 7223 fetcher.cpp:64] 提取资源 '/tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S24/frameworks/20141201-225046-6981976789-16/slaves/executor- /executor_Task_Tracker_0/runs/59c9a5ac-c376-4e9e-b9b7-63a24ae84dcd/hadoop-2.5.0-cdh5.2.0.tgz'进入'/tmp/mesos/slaves/20141201-225046-698725789-5050-19765-S24/frameworks/ 20141201-225046-698725789-5050-19765-0016/executors/executor_Task_Tracker_0/runs/59c9a5ac-c376-4e9e-b9b7-63a24ae84dcd'

sh: 1: cd: 不能 cd 到 hadoop-2.5.0-cdh5.2.0

sh: 1: ./bin/hadoop: 未找到

stdout是空的。

有趣的是,当我在主节点运行的同一节点上运行从节点时,问题不会出现并且任务成功完成。只有远程从站会引入这个问题。可能是什么问题呢?

4

2 回答 2

0

JobTracker 放置并由执行程序运行的脚本无法访问该目录。我通过将目录的权限递归更改/tmp为“对所有人免费”777 解决了这个问题。

于 2014-12-03T15:39:05.190 回答
0

您需要做的是在您的 mesos-work-dir 所在的任何位置授予 +x 访问权限。您不需要 777 递归。

于 2015-10-08T02:02:11.997 回答