- 浏览: 2181076 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1166Flink是未来大数据实时 ... -
计算机图形处理的一些知识
2018-04-25 17:46 1227最近在搞opencv来做一些 ... -
如何在kylin中构建一个cube
2017-07-11 19:06 1258前面的文章介绍了Apache Kylin的安装及数据仓 ... -
Apache Kylin的入门安装
2017-06-27 21:27 2142Apache Kylin™是一个开源的分布式分析引擎,提供 ... -
ES-Hadoop插件介绍
2017-04-27 18:07 1989上篇文章,写了使用spark集成es框架,并向es写入数据,虽 ... -
如何在Scala中读取Hadoop集群上的gz压缩文件
2017-04-05 18:51 2128存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩 ... -
如何收集项目日志统一发送到kafka中?
2017-02-07 19:07 2787上一篇(http://qindongliang.iteye. ... -
Hue+Hive临时目录权限不够解决方案
2016-06-14 10:40 4696安装Hue后,可能会分配多个账户给一些业务部门操作hive,虽 ... -
Hadoop的8088页面失效问题
2016-03-31 11:21 4445前两天重启了测试的hadoop集群,今天访问集群的8088任 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2520数据迁移或备份是任何 ... -
如何监控你的Hadoop+Hbase集群?
2016-03-21 16:10 4916前言 监控hadoop的框架 ... -
Logstash与Kafka集成
2016-02-24 18:44 11614在ELKK的架构中,各个框架的角色分工如下: Elastic ... -
Kakfa集群搭建
2016-02-23 15:36 2642先来整体熟悉下Kafka的一些概念和架构 (一)什么是Ka ... -
大数据日志收集框架之Flume入门
2016-02-02 14:25 4184Flume是Cloudrea公司开源的一款优秀的日志收集框架 ... -
Apache Tez0.7编译笔记
2016-01-15 16:33 2508目前最新的Tez版本是0.8,但还不是稳定版,所以大家还 ... -
Bug死磕之hue集成的oozie+pig出现资源任务死锁问题
2016-01-14 15:52 3828这两天,打算给现有的 ... -
Hadoop2.7.1和Hbase0.98添加LZO压缩
2016-01-04 17:46 25991,执行命令安装一些依赖组件 yum install -y ... -
Hadoop2.7.1配置NameNode+ResourceManager高可用原理分析
2015-11-11 19:51 3176关于NameNode高可靠需要配置的文件有core-site ... -
设置Hadoop+Hbase集群pid文件存储位置
2015-10-20 13:40 2846有时候,我们对运行几 ... -
Hadoop+Maven项目打包异常
2015-08-11 19:36 1561先简单说下业务:有一个单独的模块,可以在远程下载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 ...
Apache Oozie是Hadoop生态系统中的一个关键组件,主要用于调度和管理工作流,是管理大数据作业的先进工具。Oozie可以调度一系列作业,这些作业可以是MapReduce任务,也可以是Hive查询或者Pig脚本等。它支持定时调度...
Apache Oozie是一个专为管理Hadoop作业而设计的工作流调度系统。本书为读者提供了一个实践性的指南,通过两个经验丰富的Hadoop实践者的亲身传授,深入讲解了这个功能强大且灵活的平台。读者在搭建Oozie服务器后,将...
**Apache Oozie** Oozie是Hadoop作业的调度和管理系统,它可以协调Hadoop相关的任务,如Hive、Pig、MapReduce和Sqoop。理解Oozie,你需要: 1. **Oozie工作流**: 创建XML配置文件定义工作流流程,包括任务间的依赖...
阿帕奇·奥兹(Apache Oozie)什么是Oozie Oozie是一个可扩展,可扩展且可靠的系统,用于通过Web服务定义,管理,调度和执行复杂的Hadoop工作负载。 更具体地说,这包括: 基于XML的声明性框架,用于指定作业或相关...
《Apache Oozie 4.2.0:大数据工作流管理的中枢》 Apache Oozie 是一个开源的工作流调度系统,专为管理和协调Hadoop生态系统中的作业而设计。Oozie 4.2.0 版本是该工具的一个重要里程碑,它提供了一系列增强的功能...
Apache Hadoop 中,Oozie 是一个至关重要的组件,它是一个开源的工作流调度引擎,专门设计用于管理和协调在Hadoop生态系统中的各种作业。Oozie 由Cloudera公司贡献给Apache社区,它是一个基于工作流引擎的系统,能够...
它的名字"Oozie"来源于驯象人,寓意其能够像驯象一样管理复杂的分布式任务。Oozie由Cloudera公司贡献给Apache社区,并且依赖JavaServlet容器运行。它提供了对Hadoop MapReduce、Pig等任务的调度和协调功能,特别是...
oozie配置mysql所需表结构。Apache Oozie是用于Hadoop平台的一种工作流调度引擎。
Oozie由Cloudera公司贡献给Apache,主要服务于Hadoop生态系统,用于协调和调度MapReduce、Pig等大数据处理任务。它不仅支持定时任务,还能够根据任务之间的逻辑关系进行顺序或分支执行,确保数据处理流程的顺畅。 ...
Apache Oozie 是一个工作流调度系统,用于管理和协调Hadoop生态系统中的作业。Oozie 5.2.1是该软件的一个版本,提供了一系列改进和修复,旨在提高稳定性和性能。这个"oozie-5.2.1-distro.tar.gz"文件是一个压缩包,...
《Apache Oozie与ext-2.2.zip的深度解析》 Apache Oozie是Hadoop生态系统中的工作流调度系统,它允许用户管理和调度Hadoop相关的作业,如Hive、Pig、MapReduce以及 Sqoop等。在部署和配置Oozie的过程中,`ext-2.2....
适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究...
《Apache Oozie 4.3.1源码解析与应用指南》 Apache Oozie 是一个用于管理Hadoop作业的工作流调度系统,它能够协调Hadoop生态系统中的各种任务,如MapReduce、Pig、Hive、Sqoop等。本文将深入探讨Oozie 4.3.1版本的...
一个在Apache Oozie工作流和Apache Airflow工作流之间轻松转换的工具。 Apache Airflow 是 AirBnB 于 2014 年开发的工作流管理系统。它是一个以编程方式编写、调度和监控工作流的平台。气流工作流被设计为Python 中...
在Hadoop生态系统中,Oozie是一个工作流调度系统,用于管理Hadoop作业。它允许用户定义、调度和协调各种Hadoop相关任务,如MapReduce、Pig、Hive、Sqoop等。当遇到“Table ‘oozie.VALIDATE_CONN’ doesn’t exist”...
《Apache Oozie 5.0.0:工作流调度利器》 Apache Oozie 是一个集成在Hadoop生态系统中的工作流调度系统,专为管理Hadoop作业而设计。Oozie 5.0.0 版本是该工具的一个重要里程碑,它于2019年6月25日发布,提供了多项...