hadoop-2.5.2+Oozie-4.1.0环境构筑和简单测试
来源:互联网 发布:手机淘宝账号余额查询 编辑:程序博客网 时间:2024/06/03 00:02
背景
对于Oozie的理解,我现在也是停留在它是一个job调度系统。至于在有Oozie的情况下,相比之下hadoop的性能是否会有很大的提升,官网中没有给出数据对比,无法直观的看到差异。但相比较没有oozie的hadoop,oozie可以指定workflow,这样在指定的时间段内,根据时间可以触发job,对于经常重复需要运行的作业,还是有很大的方便性。
以下是oozie官网给出的定义:
Oozie is a workflow scheduler system to manage Apache Hadoop jobs.Oozie Workflow jobs are Directed Acyclical Graphs (DAGs) of actions.Oozie Coordinator jobs are recurrent Oozie Workflow jobs triggered by time (frequency) and data availabilty.Oozie is integrated with the rest of the Hadoop stack supporting several types of Hadoop jobs out of the box (such as Java map-reduce, Streaming map-reduce, Pig, Hive, Sqoop and Distcp) as well as system specific jobs (such as Java programs and shell scripts).Oozie is a scalable, reliable and extensible system.同类型的产品有Amazon Data Pipeline、SimpleWorkflowEngine, Azkaban、Cascading、Hamake。具体是什么状况,暂时没有去调查,不敢妄下断言去指点江山。
Hortonworks Data Platform、Clouder manager 、Amazon EMR sandbox application、Hue 这些都是hadoop的集成解决方案,将hadoop生态区中可以利用的都集成在一起,对于用户来说,可视化的操作,还是很便利的。
Oozie环境构筑
oozie环境的构筑,就自身而言,不是很难,官网上有详细的说明,只要你的英语不是烂到家了,即使烂到家,还有度娘,google翻译,总有一款适合你的需求。
官网:http://oozie.apache.org/docs/4.1.0/DG_QuickStart.html
这里重点说几点要注意的:
1.ExtJS-2.2.0.zip文件,必须是这样,因为./bin/oozie-setup.sh中已经硬编码了。且下载的文件,建议还是放置在oozie-server/libext【没有的话自己手动去创建】,如果你想使用webUI界面的话。
2.sharelib的问题。这个困扰了我几个小时,最后在执行job的时候,就报错,没有/user/root/share/lib。这个就是当时部署的时候,没有留意使用./bin/oozie-setup.sh sharelib create -fs FS_DIR -locallib share这个命令,导致报错的,对策也很简单,bin的同一级目录下,会有一个类似于oozie-sharelib-4.1.0-falcon.tar.gz的文件,解压后生成一个share文件夹,然后使用oosie-setup.sh命令去导入就行了,但必须事前使用hadoop fs -mkdir命令去创建【/user/root/share】这个目录。
3.oozie-site.xml中根据自己hadoop的实际位置,修改下面的参数
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name> <value>*=/home/project/hadoop-2.5.2/etc/hadoop</value>
简单确认oozie
1.使用oozied.sh start/oozie-start.sh启动后,使用oozie admin去确认状态,具体命令如下所示:
[root@sv004 oozie-4.1.0-falcon]# ./bin/oozie admin -oozie http://sv004:11000/oozie -statusSystem mode: NORMAL
2.在web侧进行确认,顺便检验之前追加的ExtJS是否已加载成功,如图说是:
#ps,公司的网络太烂,56k的图片无法上传,以后有机会在追加
运行简单的测试项
1.运行cron下的测试项
[root@sv004 oozie-4.1.0-falcon]# ./bin/oozie job -oozie http://sv004:11000/oozie -config examples/apps/cron/job.properties -runError: E0504 : E0504: App directory [/user/root/examples/apps/cron] does not exist
报错,原因是没有将其加载在hdfs下对应的位置,可以使用hadoop fs -ls命令来验证自己的推理:
[root@sv004 oozie-4.1.0-falcon]# /home/project/hadoop-2.5.2/bin/hadoop fs -ls /user/root/examples/apps/16/05/12 19:21:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableFound 1 itemsdrwxr-xr-x - root supergroup 0 2016-05-12 04:34 /user/root/examples/apps/map-reduce
apps目录下只有一个之前加载的map-reduce,缺少cron的,故导入:
[root@sv004 oozie-4.1.0-falcon]# /home/project/hadoop-2.5.2/bin/hadoop fs -put examples/apps/cron /user/root/examples/apps16/05/12 19:22:55 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable确认导入效果
[root@sv004 oozie-4.1.0-falcon]# /home/project/hadoop-2.5.2/bin/hadoop fs -ls /user/root/examples/apps 16/05/12 19:23:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableFound 2 itemsdrwxr-xr-x - root supergroup 0 2016-05-12 19:22 /user/root/examples/apps/crondrwxr-xr-x - root supergroup 0 2016-05-12 04:34 /user/root/examples/apps/map-reduce
可以看到已经成功导入了。
执行job
[root@sv004 oozie-4.1.0-falcon]# ./bin/oozie job -oozie http://sv004:11000/oozie -config examples/apps/cron/job.properties -runjob: 0000003-160512180755587-oozie-root-C
查看job的运行信息
[root@sv004 oozie-4.1.0-falcon]# ./bin/oozie job -info 0000003-160512180755587-oozie-root-CJob ID : 0000003-160512180755587-oozie-root-C------------------------------------------------------------------------------------------------------------------------------------Job Name : cron-coordApp Path : /user/root/examples/apps/cronStatus : SUCCEEDEDStart Time : 2010-01-01 00:00 GMTEnd Time : 2010-01-01 01:00 GMTPause Time : -Concurrency : 1------------------------------------------------------------------------------------------------------------------------------------ID Status Ext ID Err Code Created Nominal Time 0000003-160512180755587-oozie-root-C@1 SUCCEEDED 0000004-160512180755587-oozie-root-W - 2016-05-12 10:23 GMT 2010-01-01 00:00 GMT ------------------------------------------------------------------------------------------------------------------------------------0000003-160512180755587-oozie-root-C@2 SUCCEEDED 0000005-160512180755587-oozie-root-W - 2016-05-12 10:23 GMT 2010-01-01 00:10 GMT ------------------------------------------------------------------------------------------------------------------------------------0000003-160512180755587-oozie-root-C@3 SUCCEEDED 0000006-160512180755587-oozie-root-W - 2016-05-12 10:23 GMT 2010-01-01 00:20 GMT ------------------------------------------------------------------------------------------------------------------------------------0000003-160512180755587-oozie-root-C@4 SUCCEEDED 0000007-160512180755587-oozie-root-W - 2016-05-12 10:23 GMT 2010-01-01 00:30 GMT ------------------------------------------------------------------------------------------------------------------------------------0000003-160512180755587-oozie-root-C@5 SUCCEEDED 0000008-160512180755587-oozie-root-W - 2016-05-12 10:23 GMT 2010-01-01 00:40 GMT ------------------------------------------------------------------------------------------------------------------------------------0000003-160512180755587-oozie-root-C@6 SUCCEEDED 0000009-160512180755587-oozie-root-W - 2016-05-12 10:23 GMT 2010-01-01 00:50 GMT ------------------------------------------------------------------------------------------------------------------------------------
同时,你也可以在web侧看到对应的信息,还有DAG有向无环图,挺直观的。
注意:执行job之前,需要去确认job.properties下的信息是不是跟自己hadoop的环境是不是就是一致的,否则,就会发生链接不上namenode的情况了。
这是我根据自己的hadoop环境配置的,可以参考一下:
nameNode=hdfs://sv004:9000jobTracker=localhost:8021queueName=defaultexamplesRoot=examplesoozie.coord.application.path=/user/${user.name}/${examplesRoot}/apps/cronstart=2010-01-01T00:00Zend=2010-01-01T01:00ZworkflowAppUri=/user/${user.name}/${examplesRoot}/apps/cron
一般需要改动的,就只有前两项,且主要就是端口号。
这些可以在hadoop的core-site.xml和maped-site.xml里面可以找到。
--over--
- hadoop-2.5.2+Oozie-4.1.0环境构筑和简单测试
- zeppelin-0.5.6+Hadoop-2.5.2+Hive-1.2.1环境构筑及测试
- presto-0.147+postgresql-9.5.3+msql-5.0.7+hadoop-2.5.2+hive-1.2.1环境构筑以及测试
- Hadoop Oozie 自定义安装和启动
- cdh4.1.2 hadoop和oozie集成问题
- hadoop编程(2)-准备编程和本地测试环境
- hadoop测试环境搭建2
- hadoop环境搭建和基本测试
- oozie-4.1.0 安装
- 构筑测试体系
- Struts2 开发环境构筑
- oozie-4.0.0-cdh5.3.1环境搭建
- oozie和hadoop交互时的用户管理问题
- Hadoop 2.2.0测试环境搭建
- 台湾hadoop测试环境
- hadoop 测试环境搭建
- Hadoop环境测试
- Hadoop测试搭建环境
- 无状态服务 VS 有状态服务
- Redis源码解析:19Hiredis异步API代码解析
- 2014年国内最热门的.NET开源项目TOP25
- Linux开启关闭防火墙
- Android 特殊符号的ASCII转码
- hadoop-2.5.2+Oozie-4.1.0环境构筑和简单测试
- WordPress学习笔记(2)网站迁移
- 利用spring mail 发送带附件的邮件
- UIImageView自适应图片大小
- android 用一半透明的view a覆盖view b 为什么view b 还能获得焦点?
- 浅谈HTTP中Get与Post的区别
- 关于ARM的PC指针(什么时候PC+8,PC+4,PC-4,PC-8)
- Linux下的bash
- Android Studio中的快捷键介绍