尝试使用 Tidoop REST 运行 在 FIWARE-Cosmos 上执行 MapReduce 作业时出错 API
Error while trying to run a MapReduce job on FIWARE-Cosmos using Tidoop REST API
我正在关注 this guide on Github and I am not able run the example mapreduced job mentioned in Step 5。
我知道这个文件不再存在:
/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
而且我知道现在可以在这里找到相同的文件:
/usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar
所以我的电话如下:
curl -v -X POST "http://computing.cosmos.lab.fiware.org:12000/tidoop/v1/user/$user/jobs" -d '{"jar":"/usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar","class_name":"WordCount","lib_jars":"/usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar","input":"testdir","output":"testoutput"}' -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN"
我的 hdfs 用户 space 中存在输入目录,其中有一个名为 testdata.txt 的文件。我的 hdfs 用户 space 中不存在 testoutput 文件夹,因为我知道它会产生问题。
当我执行这个 curl 命令时,我得到的错误是 {"success":"false","error":1}
,这不是很清楚。我在这里遗漏了什么吗?
这刚刚通过我的用户 frb
和该用户的有效令牌进行了测试:
$ curl -X POST "http://computing.cosmos.lab.fiware.org:12000/tidoop/v1/user/frb/jobs" -d '{"jar":"/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar","class_name":"wordcount","lib_jars":"/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar","input":"testdir","output":"outputtest"}' -H "Content-Type: application/json" -H "X-Auth-Token: xxxxxxxxxxxxxxxxxxx"
{"success":"true","job_id": "job_1460639183882_0011"}
请注意 "new" 集群 (computing.cosmos.lab.fiware.org) 中带有 MapReduce 示例的 fat jar 位于 /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
,如文档中所述。 /usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar
是 "old" 集群 (cosmos.lab.fiware.org) 中的 fat jar。
编辑 1
最后,用户在运行 Tidoop 的 FIWARE LAB(storage.cosmos.lab.fiware.org
和 computing.cosmos.lab.fiware.org
)的 "new" 对 Cosmos 集群中没有帐户,但在另一个 "old"簇(cosmos.lab.fiwre.org
)。因此,只需在 "new" 中提供一个帐户即可解决此问题。
我正在关注 this guide on Github and I am not able run the example mapreduced job mentioned in Step 5。
我知道这个文件不再存在:
/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
而且我知道现在可以在这里找到相同的文件:
/usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar
所以我的电话如下:
curl -v -X POST "http://computing.cosmos.lab.fiware.org:12000/tidoop/v1/user/$user/jobs" -d '{"jar":"/usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar","class_name":"WordCount","lib_jars":"/usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar","input":"testdir","output":"testoutput"}' -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN"
我的 hdfs 用户 space 中存在输入目录,其中有一个名为 testdata.txt 的文件。我的 hdfs 用户 space 中不存在 testoutput 文件夹,因为我知道它会产生问题。
当我执行这个 curl 命令时,我得到的错误是 {"success":"false","error":1}
,这不是很清楚。我在这里遗漏了什么吗?
这刚刚通过我的用户 frb
和该用户的有效令牌进行了测试:
$ curl -X POST "http://computing.cosmos.lab.fiware.org:12000/tidoop/v1/user/frb/jobs" -d '{"jar":"/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar","class_name":"wordcount","lib_jars":"/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar","input":"testdir","output":"outputtest"}' -H "Content-Type: application/json" -H "X-Auth-Token: xxxxxxxxxxxxxxxxxxx"
{"success":"true","job_id": "job_1460639183882_0011"}
请注意 "new" 集群 (computing.cosmos.lab.fiware.org) 中带有 MapReduce 示例的 fat jar 位于 /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
,如文档中所述。 /usr/lib/hadoop-0.20/hadoop-examples-0.20.2-cdh3u6.jar
是 "old" 集群 (cosmos.lab.fiware.org) 中的 fat jar。
编辑 1
最后,用户在运行 Tidoop 的 FIWARE LAB(storage.cosmos.lab.fiware.org
和 computing.cosmos.lab.fiware.org
)的 "new" 对 Cosmos 集群中没有帐户,但在另一个 "old"簇(cosmos.lab.fiwre.org
)。因此,只需在 "new" 中提供一个帐户即可解决此问题。