【问题标题】:Can Cascalog link to external Hadoop Cluster?Cascalog 可以链接到外部 Hadoop 集群吗?
【发布时间】:2013-09-23 11:52:28
【问题描述】:

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

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

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

最好的问候, 信德

【问题讨论】:

    标签: hadoop cascalog


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      我可以查看 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

      【讨论】:

      • 感谢 tangrammer,我正在遵循上述方法。我在使用 leon uberjar 创建 jar 时遇到问题。但我无法得到一个 jar bcoz 我有一个错误:线程“main”中的异常 java.lang.ClassNotFoundException:org.apache.hadoop.fs.FileSystem,引起:java.lang.ClassNotFoundException:org.apache.hadoop .fs.FileSystem .whats 是修复。我不明白
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      • 1970-01-01
      相关资源
      最近更新 更多