0

我正在关注https://github.com/mesos/hadoop

On Linux:

$ MESOS_NATIVE_JAVA_LIBRARY=/path/to/libmesos.so hadoop jobtracker

这给出了以下错误:

不推荐使用:不推荐使用此脚本执行 mapred 命令。而是使用 mapred 命令。

抱歉,不再支持 jobtracker 命令。您可能会在“yarn”shell 命令中找到类似的功能。用法: mapred [--config confdir] COMMAND 其中 COMMAND 是其中之一: 管道运行 Pipes 作业作业 操作 MapReduce 作业队列
获取有关 JobQueues 的信息 类路径 打印运行 mapreduce 子命令所需的类路径 historyserver 将作业历史服务器作为独立守护进程运行 distcp递归复制文件或目录 archive -archiveName NAME -p * 创建一个 hadoop 归档 hsadmin 作业历史服务器管理界面

大多数命令在不带参数调用时会打印帮助。

在执行下载的 hadoop 二进制文件时:

~/hadoop-2.5.0-cdh5.2.0 # MESOS_NATIVE_JAVA_LIBRARY=/usr/lib/libmesos.so ./bin/hadoop jobtracker
Error: Could not find or load main class   org.apache.hadoop.mapred.JobTracker

我错过了什么?

执行前的 CLASSPATH:

root@mesos-master3 ~/hadoop-2.5.0-cdh5.2.0 # MESOS_NATIVE_JAVA_LIBRARY=/usr/lib/libmesos.so ./bin/hadoop jobtracker
/root/hadoop-2.5.0-cdh5.2.0/bin-mapreduce1/../etc/hadoop:/usr/lib/tools.jar:/root/hadoop-2.5.0-cdh5.2.0/bin-mapreduce1/../share/hadoop/mapreduce1/hadoop-core-2.5.0-mr1-cdh5.2.0.jar:/root/hadoop-2.5.0-cdh5.2.0/bin-mapreduce1/../lib/*.jar:/root/hadoop-2.5.0-cdh5.2.0/bin-mapreduce1/../lib/jsp-2.1/*.jar:/root/hadoop-2.5.0-cdh5.2.0/bin-mapreduce1/../etc/hadoop:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/common/lib/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/common/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/hdfs:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/hdfs/lib/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/hdfs/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/yarn/lib/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/yarn/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/mapreduce:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/mapreduce/lib/*:/root/hadoop-2.5.0-cdh5.2.0/share/hadoop/mapreduce/*
Error: Could not find or load main class org.apache.hadoop.mapred.JobTracker
4

1 回答 1

0

现代版本的 Hadoop (2.4+) 默认启用 YARN/MapReduce2,因此旧的 MRv1 JobTracker/TaskTracker 命令无法开箱即用。您要么必须更改配置以启用 MRv1(设置HADOOP_HOMEHADOOP_CONF_DIR指向 MR1 目录),要么通过 Myriad 切换到 Mesos 上的 YARN:https ://github.com/mesos/myriad

于 2015-06-30T09:10:18.000 回答