- 浏览: 2147101 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
(1)Apache Oozie是什么?
Oozie在英语中的释义指的是:驯象人,驭象者(多指缅甸那边的俗称),这个比喻相对与它的功能来说,还是很恰当的。
Apache Oozie是一个用来管理Hadoop任务的工作流调度系统,是基于有向无环图的模型(DAG)。Oozie支持大多数的Hadoop任务的组合,常见的有Java MapReduce,Streaming map-reduce,Pig,Hive, Sqoop , Distcp,也可以结合一些脚本如Shell,Python,Java来很灵活的完成一些事情。同时,它也是一个可伸缩的,可扩展,高可靠的的系统
(2)Apache Oozie能用来干什么?
其实,上面的这张图,已经足够回答这个问题了,工作流嘛,顾名思义,就是我要干一件事,需要很多步骤,然后有序组合,最终达到能够完成这件事的目的。
举个例子,就拿做饭这件事吧。
1,买菜
2,洗菜
3,切菜
4,炒菜
5,上菜
这是一个简单的流程,当然这里面会有很多其他的小细节,比如我买菜,去了不同的菜市场,炒菜时候,又临时去买了一些调料,等等。
仔细分析这里面的道道,有些是有依赖关系的,有些没依赖关系的,比如菜是核心,所有很菜有关的都有先后顺序,其他的辅助步骤,比如说烧水,跟这是没有依赖关系的。反应到实际工作中的一些任务也是如此,所以采用oozie来管理调度,还是很方便的一件事。
(3)Oozie的组成
Readme, license, notice & Release log files.(一个项目的,版权,介绍,log等)
Oozie server: oozie-server directory.(oozie的服务端目录)
Scripts: bin/ directory, client and server scripts.(bin下面有一些常用的命令,来管理oozie的)
Binaries: lib/ directory, client JAR files.(存放oozie的依赖包)
Configuration: conf/ server configuration directory.(oozie的配置文件)
Archives:(归档包目录)
oozie-client-*.tar.gz : Client tools.(oozie的客户端包)
oozie.war : Oozie WAR file.(web的服务工程)
docs.zip : Documentation.(文档)
oozie-examples-*.tar.gz : Examples.(例子)
oozie-sharelib-*.tar.gz : Share libraries (with Streaming, Pig JARs).(一些工作流支持的框架共享包)
(4)oozie支持调度的应用
1,Email任务
2,Shell任务
3,Hive任务
4,Sqoop任务
5,SSH任务
6,Distcp任务
7,自定义的任务
(5)oozie的下载,安装,编译
oozie目前最新的版本是oozie4.1.0,下载地址1,如果链接不上,可点击这个下载地址2,
在linux上,可以直接wget http://archive.apache.org/dist/oozie/4.1.0/oozie-4.1.0.tar.gz下载
下载完,可以解压出来根据自己的一些环境编译。
散仙这里的一些环境如下:
Hadoop2.2
JDK1.7
Maven3.0.5
Ant1.9.4
Hive0.13.1
Pig0.12.1
所以,需要修改在oozie的根目录下的pom文件:
1,修改JDK版本
2,如有必要可修改各个组件的版本,在跟目录下执行
grep -l "2.3.0" `find . -name "pom.xml"`
./pom.xml ./hadooplibs/hadoop-distcp-2/pom.xml ./hadooplibs/hadoop-test-2/pom.xml ./hadooplibs/hadoop-utils-2/pom.xml ./hadooplibs/hadoop-2/pom.xml
将查出来的pom文件,修改对应hadoop版本,hive,hbase,pig等组件版本
注意使用(sed -e 's/2.3.0/2.2.0/g' pom.xml 替换可能更快,但是建议自己去修改,因为改的地方并不是太多!)
注意,在4.1.0里,需要把下面这个保持成2.3.0,hadoop的版本可以是2.2.0如果,不改的话,编译Zookeeper-Scurity-Test时候,会报错
[INFO] Apache Oozie ZooKeeper Security Tests ............. FAILURE [2.204s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5:27.818s [INFO] Finished at: Fri May 15 12:50:50 CST 2015 [INFO] Final Memory: 132M/237M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project oozie-zookeeper-security-tests: Could not resolve dependencies for project org.apache.oozie:oozie-zookeeper-security-tests:jar:4.1.0: Failed to collect dependencies for [org.apache.curator:curator-test:jar:2.5.0 (test), org.apache.hadoop:hadoop-minikdc:jar:2.2.0 (test), org.apache.oozie:oozie-core:jar:4.1.0 (test), org.apache.oozie:oozie-core:jar:tests:4.1.0 (test), org.apache.oozie:oozie-hadoop:jar:2.2.0.oozie-4.1.0 (provided), org.apache.oozie:oozie-hadoop-test:jar:2.2.0.oozie-4.1.0 (test)]: Failed to read artifact descriptor for org.apache.hadoop:hadoop-minikdc:jar:2.2.0: Could not transfer artifact org.apache.hadoop:hadoop-minikdc:pom:2.2.0 from/to Codehaus repository (http://repository.codehaus.org/): peer not authenticated -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :oozie-zookeeper-security-tests
改回2.3.0即可
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> <version>2.3.0</version> </dependency>
3,修改完成后,执行下面命令进行编译:
bin/mkdistro.sh -DskipTests -Dhadoop.version=2.2.0
4,中间如果出现错误,不要紧,重新执行上面命令,会增量的编译,原来编译成功的,不会重复编译,编译成功如下:
[INFO] Reactor Summary: [INFO] [INFO] Apache Oozie Main .................................. SUCCESS [ 1.440 s] [INFO] Apache Oozie Client ................................ SUCCESS [ 22.217 s] [INFO] Apache Oozie Hadoop 1.1.1.oozie-4.1.0 .............. SUCCESS [ 0.836 s] [INFO] Apache Oozie Hadoop Distcp 1.1.1.oozie-4.1.0 ....... SUCCESS [ 0.065 s] [INFO] Apache Oozie Hadoop 1.1.1.oozie-4.1.0 Test ......... SUCCESS [ 0.182 s] [INFO] Apache Oozie Hadoop Utils 1.1.1.oozie-4.1.0 ........ SUCCESS [ 0.784 s] [INFO] Apache Oozie Hadoop 2.3.0.oozie-4.1.0 .............. SUCCESS [ 4.803 s] [INFO] Apache Oozie Hadoop 2.3.0.oozie-4.1.0 Test ......... SUCCESS [ 0.254 s] [INFO] Apache Oozie Hadoop Distcp 2.3.0.oozie-4.1.0 ....... SUCCESS [ 0.066 s] [INFO] Apache Oozie Hadoop Utils 2.3.0.oozie-4.1.0 ........ SUCCESS [ 1.033 s] [INFO] Apache Oozie Hadoop 0.23.5.oozie-4.1.0 ............. SUCCESS [ 3.231 s] [INFO] Apache Oozie Hadoop 0.23.5.oozie-4.1.0 Test ........ SUCCESS [ 0.336 s] [INFO] Apache Oozie Hadoop Distcp 0.23.5.oozie-4.1.0 ...... SUCCESS [ 0.062 s] [INFO] Apache Oozie Hadoop Utils 0.23.5.oozie-4.1.0 ....... SUCCESS [ 0.878 s] [INFO] Apache Oozie Hadoop Libs ........................... SUCCESS [ 3.780 s] [INFO] Apache Oozie Hbase 0.94.2.oozie-4.1.0 .............. SUCCESS [ 0.338 s] [INFO] Apache Oozie Hbase Libs ............................ SUCCESS [ 0.692 s] [INFO] Apache Oozie HCatalog 0.13.1.oozie-4.1.0 ........... SUCCESS [ 0.919 s] [INFO] Apache Oozie HCatalog Libs ......................... SUCCESS [ 1.735 s] [INFO] Apache Oozie Share Lib Oozie ....................... SUCCESS [ 13.552 s] [INFO] Apache Oozie Share Lib HCatalog .................... SUCCESS [ 40.232 s] [INFO] Apache Oozie Core .................................. SUCCESS [05:03 min] [INFO] Apache Oozie Docs .................................. SUCCESS [01:07 min] [INFO] Apache Oozie Share Lib Pig ......................... SUCCESS [01:38 min] [INFO] Apache Oozie Share Lib Hive ........................ SUCCESS [ 12.927 s] [INFO] Apache Oozie Share Lib Sqoop ....................... SUCCESS [ 5.655 s] [INFO] Apache Oozie Share Lib Streaming ................... SUCCESS [ 4.577 s] [INFO] Apache Oozie Share Lib Distcp ...................... SUCCESS [ 1.900 s] [INFO] Apache Oozie WebApp ................................ SUCCESS [02:26 min] [INFO] Apache Oozie Examples .............................. SUCCESS [ 3.762 s] [INFO] Apache Oozie Share Lib ............................. SUCCESS [ 11.415 s] [INFO] Apache Oozie Tools ................................. SUCCESS [ 10.718 s] [INFO] Apache Oozie MiniOozie ............................. SUCCESS [ 9.647 s] [INFO] Apache Oozie Distro ................................ SUCCESS [ 27.966 s] [INFO] Apache Oozie ZooKeeper Security Tests .............. SUCCESS [ 7.040 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS
5,编译成功后在oozie-release-4.1.0/distro/target目录下,会生成如下的几个文件:
drwxr-xr-x 2 root root 4096 5月 15 13:45 antrun drwxr-xr-x 2 root root 4096 5月 15 13:45 archive-tmp drwxr-xr-x 2 root root 4096 5月 15 13:45 maven-archiver drwxr-xr-x 3 root root 4096 5月 15 13:46 oozie-4.1.0-distro -rw-r--r-- 1 root root 201469924 5月 15 13:46 oozie-4.1.0-distro.tar.gz -rw-r--r-- 1 root root 2875 5月 15 13:45 oozie-distro-4.1.0.jar drwxr-xr-x 3 root root 4096 5月 15 13:45 tomcat
6,拷贝oozie-4.1.0-distro.tar.gz压缩包,至你需要安装的地方并解压,然后进入根目录下,
执行mkdir libext命令,创建libext目录
接着执行
cp ${HADOOP_HOME}/share/hadoop/*/*.jar libext/
cp ${HADOOP_HOME}/share/hadoop/*/lib/*.jar libext/
命令,将hadoop的相关的jar包拷贝至改目录
下载一个ext-2.2.zip包,也放入libext目录,由于oozie的js可能会依赖这个包,最新的版本应该不需要了,待验证?这个包,散仙在文末会上传到附件中,
7,删除libext下这几个包,因为会和hadoop的中的一些包冲突,造成类加载器无法识别重复的jsp,servlet或el解析器:
jasper-compiler-5.5.23.jar
jasper-runtime-5.5.23.jar
jsp-api-2.1.jar
8,修改conf/oozie-site.xml文件,更改以下几个地方:
<!-- 修改对应的hadoop的安装用户,散仙这里是search --> <property> <name>oozie.system.id</name> <value>oozie-search</value> <description> The Oozie system ID. </description> </property> <!-- 修改hadoop的conf的文件目录 --> <property> <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> <value>*=/home/search/hadoop/etc/hadoop</value> <description> Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is used when there is no exact match for an authority. The HADOOP_CONF_DIR contains the relevant Hadoop *-site.xml files. If the path is relative is looked within the Oozie configuration directory; though the path can be absolute (i.e. to point to Hadoop client conf/ directories in the local filesystem. </description> </property> <!-- 修改oozie的share lib的HDFS目录 --> <property> <name>oozie.service.WorkflowAppService.system.libpath</name> <value>/user/search/share/lib</value> <description> System library path to use for workflow applications. This path is added to workflow application if their job properties sets the property 'oozie.use.system.libpath' to true. </description> </property> <!-- 修改代理用户Hue需要用到,下面这两个配置,在Hadoop的core-site.xml中,同样需要添加,代理用户提交作业功能 --> <property> <name>oozie.service.ProxyUserService.proxyuser.search.hosts</name> <value>*</value> </property> <property> <name>oozie.service.ProxyUserService.proxyuser.search.groups</name> <value>*</value> </property>
9,删除/home/search/oozie-4.1.0/conf/hadoop-conf下的core-site.xml文件,将/home/search/hadoop/etc/hadoop/下的所有配置文件,拷贝到此处
(6)执行bin/oozie-setup.sh prepare-war命令,重新生成war包
(7)执行bin/oozie-setup.sh sharelib create -fs hdfs://<namenode-hostname>:8020命令,将share下面的共享jar拷贝至HDFS中,
此处,也可以自己使用hadoop fs -copyFromLocal share/ /hdfs/xxx拷贝
(8)执行bin/oozie-setup.sh db create -run初始化oozie数据库
(9)执行bin/oozied.sh start启动oozie server
(10) 执行bin/oozie admin -oozie http://localhost:11000/oozie -status)返回Normal,即代表安装成功
[search@h1 oozie-4.1.0]$ bin/oozie admin -oozie http://localhost:11000/oozie -status System mode: NORMAL [search@h1 oozie-4.1.0]$
(11)在win上访问测试
(12)看到上图,说明你已经成功安装了,关系服务的命令
bin/oozied.sh stop,如果说不能停止,需要手动去删掉pid文件,然后在关闭。
oozie安装成功,很重要,因为Hue需要依赖它,做任务调度,下一篇文章,散仙就总结下hue安装笔记。
最后欢迎大家扫码关注微信公众号:我是攻城师,我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!
- ext-2.2.zip (5 MB)
- 下载次数: 5
发表评论
-
Apache Flink在阿里的使用(译)
2019-02-21 21:18 1055Flink是未来大数据实时 ... -
计算机图形处理的一些知识
2018-04-25 17:46 1187最近在搞opencv来做一些 ... -
如何在kylin中构建一个cube
2017-07-11 19:06 1206前面的文章介绍了Apache Kylin的安装及数据仓 ... -
Apache Kylin的入门安装
2017-06-27 21:27 2110Apache Kylin™是一个开源的分布式分析引擎,提供 ... -
ES-Hadoop插件介绍
2017-04-27 18:07 1947上篇文章,写了使用spark集成es框架,并向es写入数据,虽 ... -
如何在Scala中读取Hadoop集群上的gz压缩文件
2017-04-05 18:51 2087存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩 ... -
如何收集项目日志统一发送到kafka中?
2017-02-07 19:07 2746上一篇(http://qindongliang.iteye. ... -
Hue+Hive临时目录权限不够解决方案
2016-06-14 10:40 4637安装Hue后,可能会分配多个账户给一些业务部门操作hive,虽 ... -
Hadoop的8088页面失效问题
2016-03-31 11:21 4375前两天重启了测试的hadoop集群,今天访问集群的8088任 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2474数据迁移或备份是任何 ... -
如何监控你的Hadoop+Hbase集群?
2016-03-21 16:10 4833前言 监控hadoop的框架 ... -
Logstash与Kafka集成
2016-02-24 18:44 11503在ELKK的架构中,各个框架的角色分工如下: Elastic ... -
Kakfa集群搭建
2016-02-23 15:36 2589先来整体熟悉下Kafka的一些概念和架构 (一)什么是Ka ... -
大数据日志收集框架之Flume入门
2016-02-02 14:25 4144Flume是Cloudrea公司开源的一款优秀的日志收集框架 ... -
Apache Tez0.7编译笔记
2016-01-15 16:33 2429目前最新的Tez版本是0.8,但还不是稳定版,所以大家还 ... -
Bug死磕之hue集成的oozie+pig出现资源任务死锁问题
2016-01-14 15:52 3754这两天,打算给现有的 ... -
Hadoop2.7.1和Hbase0.98添加LZO压缩
2016-01-04 17:46 25501,执行命令安装一些依赖组件 yum install -y ... -
Hadoop2.7.1配置NameNode+ResourceManager高可用原理分析
2015-11-11 19:51 3126关于NameNode高可靠需要配置的文件有core-site ... -
设置Hadoop+Hbase集群pid文件存储位置
2015-10-20 13:40 2781有时候,我们对运行几 ... -
Hadoop+Maven项目打包异常
2015-08-11 19:36 1504先简单说下业务:有一个单独的模块,可以在远程下载Hadoop上 ...
相关推荐
Apache Oozie Essentials starts off with the basics right from installing and configuring Oozie from source code on your Hadoop cluster to managing your complex clusters. You will learn how to create ...
大数据相关,大数据资源调度,oozie,可创建定时调度任务
Apache Oozie_ The Workflow Scheduler for Hadoop ,主要介绍oozie的使用
Hive编程指南+HIVE从入门到精通+Hive高级编程+Apache Oozie
apache oozie workflow scheduler for hadoop
阿帕奇·奥兹(Apache Oozie)什么是Oozie Oozie是一个可扩展,可扩展且可靠的系统,用于通过Web服务定义,管理,调度和执行复杂的Hadoop工作负载。 更具体地说,这包括: 基于XML的声明性框架,用于指定作业或相关...
oozie配置mysql所需表结构。Apache Oozie是用于Hadoop平台的一种工作流调度引擎。
Apache Oozie-5.2.1源码编译包
适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究...
Oozie由Cloudera公司贡献给Apache的基于工作流引擎的开源框架,是用于Hadoop平台的开源的工作流调度引擎,是用来管理Hadoop作业,属于web应用程序,由Oozie client和Oozie Server两个组件构成,Oozie Server运行于Java ...
一个在Apache Oozie工作流和Apache Airflow工作流之间轻松转换的工具。 Apache Airflow 是 AirBnB 于 2014 年开发的工作流管理系统。它是一个以编程方式编写、调度和监控工作流的平台。气流工作流被设计为Python 中...
大数据技术之Oozie入门到精通
Hadoop oozie报错:Table ‘oozie.VALIDATE_CONN’ doesn’t exist 。 oozie建表sql,直接下载执行
dashuju 大数据oozie尚硅谷主讲,内容总结详细
第 2 章 Oozie 的功能模块介绍2.1 模块顺序执行流程节点,支持 fork(分支多个节点),join(合并多个节点为一个)定时触发 workflow绑定
Oozie是一个工作流调度程序系统,用于管理Apache Hadoop作业。 Oozie与其余Hadoop堆栈集成在一起,支持开箱即用的几种类型的Hadoop作业(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp)...
oozie 入门 oozie概述:oozie能干什么 oozie格式:怎么用oozie oozie执行:怎么运行oozie
库验证了复杂的Oozie工作流程(http://oozie.apache.org/)。 两种使用方案:1)使用指定的参数执行工作流程,结果得到传递的节点的列表。 注意:在所有工作流程函数中,现在仅支持“ wf:conf”。 2)检查被调用的...
Oozie 部署 1 1、Maven 安装 1 3、整合Oozie和Hadoop 8 Oozie提交MapReduce任务事例 8 1上传lib和wf到hdfs上 8 2修改job.properties文件 8 3:修改workflow.xml 9 4:执行oozie客户端命令执行mapreduce 10 配置oozie...