0

我在 Eclipse 上使用 Cascalog。看起来对hadoop的依赖是在项目的project.clj文件中提供的,如下所示

:profiles { :dev {:dependencies [[org.apache.hadoop/hadoop-core "1.1.2"]]}}

如果我必须包括对本地安装的 Hadoop 单节点集群或一些外部 hadoop 集群的依赖——我应该怎么做?如果它是本地的,我应该简单地将“hadoop 路径”替换为“org.apache.hadoop”吗?您的想法将不胜感激。

最好的问候, Sindhu

4

2 回答 2

0

正如我可以检查在 cascalog 指南上找到的链接在集群上运行在 Hadoop 集群上开发和部署 Cascalog 查询 http://nathanmarz.com/blog/news-feed-in-38-lines-of-code-using -cascalog.html你可以找到在生产集群上运行的段落,这里是复制/粘贴

1- 将样本数据复制到集群中的“/tmp/follows”和“/tmp/action”。

2- 接下来,运行“lein uberjar”以创建一个包含程序及其所有依赖项的 jar。由于演示代码指定了 :gen-class 并且有一个 main 方法,我们可以像运行任何其他 hadoop 程序一样运行它。要在集群上运行查询并将结果以文本格式输出到“/tmp/results”,请运行:

3-hadoop jar cascalog-demo-standalone.jar cascalog_demo.demo /tmp/follows /tmp/action /tmp/results

于 2013-11-15T20:07:08.530 回答
0

Sindhu,您的集群位置规范在 project.clj 中不合适。

project.clj 是 clojure 什么 pom.xml 是 java/maven。在此处查看有关 leinengen 依赖项管理的教程。您应该确保您声明依赖的版本与您将要运行的版本相匹配。

您最终运行的集群在 hadoop conf 文件中进行控制 - 特别是通过在 mapred-site.xml 中使用“mapred.job.tracker”更改作业跟踪器的位置。你可以在这里阅读它们

于 2013-11-08T16:37:06.750 回答