博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cascalog:Up and Run
阅读量:5836 次
发布时间:2019-06-18

本文共 1998 字,大约阅读时间需要 6 分钟。

hot3.png

<h1>运行 cascalog</h1>

<p>经过几天的挣扎(业余时间),终于把 cascalog 运行起来。因为 hadoop 集群不是自己搭的,有一些关于安全方面的设置,对初学造成了一定的麻烦。反复尝试才跑起来。</p>

<h2>创建项目</h2>

<p>还是用 lein 来管理项目的依赖和打包。先运行 <code>lein new cascalog-demo</code> 来创建项目。修改 project.clj 如下:</p>

(defproject cascalog-demo "0.1.0-SNAPSHOT"  :description "FIXME: write description"  :jvm-opts ["-Dmapred.queue.job.name=apg_qashort_p3"]  :url "http://example.com/FIXME"  :license {:name "Eclipse Public License"            :url "http://www.eclipse.org/legal/epl-v10.html"}  :dependencies [[org.clojure/clojure "1.5.1"]                 [org.apache.hadoop/hadoop-common "0.23.8"]                 [org.apache.hadoop/hadoop-hdfs "0.23.8"]                 [org.apache.hadoop/hadoop-mapreduce-client-core "0.23.8"]                 [org.apache.hadoop/hadoop-mapreduce-client-common "0.23.8"]                 [cascalog/cascalog-core "2.0.0-SNAPSHOT"]]  :resource-paths ["/home/gs/conf/current" "resources"]  :source-paths ["src/clj"]  :aot [cascalog-demo.demo]  :main cascalog-demo.demo)

<h2>添加 hadoop 配置</h2>

<p>因为是直接在 hadoop 集群上尝试,没有尝试本地开发模式,所以需要考虑 hadoop 的集群配置。没有加配置前会报错找不到 namenode 之类的错误,后来又碰到通不过 KERBEROS 认证,默认的 hadoop queue 不可用等等错误。</p>

<p>在 project.clj 中的 <code>:resource-paths ["/home/gs/conf/current" "resources"]</code> 一行就是添加一些 hadoop 的配置。 其中 /home/gs/conf/current 是集群上的 $HADOOP_CONF_DIR 目录,包含了集群的基本配置。resources 是当前项目中的目录,其中会包含一个 job-conf.clj 文件,这个文件包含了一些提交 job 时的配置,内容如下:</p>

{"hadoop.tmp.dir" "/tmp" "mapreduce.job.complete.cancel.delegation.tokens" "false" "mapred.job.queue.name" "queue_name"}

<h2>Demo 代码</h2>

<p>创建文件 src/clj/cascalog_demo/demo.clj, 内容如下:</p>

(ns cascalog-demo.demo  (:use cascalog.api)  (:use cascalog.playground)  (:gen-class))(defn -main  []  (?- (stdout) sentence))

<h2>打包运行</h2>

<p>用 lein 把所有依赖包,以防在集群上没有权限装需要的 jar 包:<code>lein uberjar</code></p>

<p>完成后会生成 target/cascalog_test-0.1.0-SNAPSHOT-standalone.jar</p>

<p>运行包:<code>hadoop jar target/cascalog_test-0.1.0-SNAPSHOT-standalone.jar</code></p>

转载于:https://my.oschina.net/u/1412485/blog/182566

你可能感兴趣的文章
【BATJ面试必会】JAVA面试到底需要掌握什么?【上】
查看>>
CollabNet_Subversion小结
查看>>
mysql定时备份自动上传
查看>>
17岁时少年决定把海洋洗干净,现在21岁的他做到了
查看>>
linux 启动oracle
查看>>
《写给大忙人看的java se 8》笔记
查看>>
倒计时:计算时间差
查看>>
Linux/windows P2V VMWare ESXi
查看>>
Windows XP倒计时到底意味着什么?
查看>>
运维工程师在干什么学些什么?【致菜鸟】
查看>>
Linux中iptables详解
查看>>
java中回调函数以及关于包装类的Demo
查看>>
maven异常:missing artifact jdk.tools:jar:1.6
查看>>
终端安全求生指南(五)-——日志管理
查看>>
Nginx 使用 openssl 的自签名证书
查看>>
创业维艰、守成不易
查看>>
PHP环境安装套件:快速安装LAMP环境
查看>>
CSS3
查看>>
ul下的li浮动,如何是ul有li的高度
查看>>
C++ primer plus
查看>>