【发布时间】:2015-04-26 15:31:22
【问题描述】:
我正在 Mesos 0.21.0 上使用 Hadoop 2.3.0 设置 spark。当我在 master 上尝试 spark 时,我从 mesos slave 的 stderr 收到这些错误消息:
警告:在将 InitGoogleLogging() 写入 STDERR 之前进行日志记录
I1229 12:34:45.923665 8571 fetcher.cpp:76] 获取 URI 'hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz'
I1229 12:34:45.925240 8571 fetcher.cpp:105] 正在下载资源 'hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz' 到 '/tmp/mesos/slaves/20141226-161203-701475338-5050-6942-S0/frameworks/20141229-111020-701475338-5050-985-0001/executors/20141226-161203-701475338-50-50运行8ef30e72-d8cf-4218-8a62-bccdf673b5aa/spark-1.2.0.tar.gz'
E1229 12:34:45.927089 8571 fetcher.cpp:109] HDFS copyToLocal 失败: hadoop fs -copyToLocal 'hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz' '/tmp/mesos/slaves/20141226-161203-701475338-5050-6942-S0/frameworks/20141229-111020-701475338-5050-985-0001/executors/20141226-161203-701475338-50-50运行8ef30e72-d8cf-4218-8a62-bccdf673b5aa/spark-1.2.0.tar.gz'
sh: 1: hadoop: 未找到
获取失败:hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz
与slave同步失败(可能已经退出)
有趣的是,当我切换到从节点并运行相同的命令时
hadoop fs -copyToLocal 'hdfs://10.170.207.41/spark/spark-1.2.0.tar.gz' '/tmp/mesos/slaves/20141226-161203-701475338-5050-6942-S0/frameworks/20141229-111020-701475338-5050-985-0001/executors/20141226-161203-701475338/运行8ef30e72-d8cf-4218-8a62-bccdf673b5aa/spark-1.2.0.tar.gz'
,一切顺利。
【问题讨论】:
-
我已经检查了线程Hadoop 2.5.0 on Mesos 0.21.0 with library 0.0.8 executor error,它不能解决我的问题
-
mesos-slave 以什么用户身份运行?该用户的 PATH 中是否有
hadoop并执行权限? -
它是根目录,并且在它的 PATH 中有 hadoop
-
(并且root对实际的hadoop二进制文件有执行权限?)
-
我在日志中有同样的错误。原来,我忘记重新启动路径上没有设置 HADOOP_HOME 或 hadoop 的从站。一旦我重启了master和slave,mesos就找到了hadoop。
标签: hadoop apache-spark mesos