oozie的简易安装

1. 解压  tar -zxvf oozie-4.0.0-cdh5.3.6.tar.gz 

2.配置hadoop的集群,添加一个代理用户(给oozie运行mapreduce的权限) 

 在hadoop的core-site.xml配置文件中添加 (要在hadoop启动之前添加)    root  可以改成 当前操作系统的用户  eg:beifeng

 1     <!-- OOZIE 添加代理-->
 2     <property>
 3         <!-- OOZIE 的启动用户-->
 4         <name>hadoop.proxyuser.root.hosts</name>
 5         <!-- OOZIE 所在的主机-->
 6         <value>hadoop</value>
 7     </property>
 8     <property>
 9         <!-- OOZIE 用户的组-->
10         <name>hadoop.proxyuser.root.groups</name>
11         <value>*</value>
12     </property>

配置 oozie 的配置文件  oozie-site.xml

 

 

 

3.解压   oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz

 多了一个文件

 

jar包存放位置 /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/oozie-4.0.0-cdh5.3.6/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6

4:拷贝jar至 libxt目录下

5:把ext.zip拷贝到刚创建的libxt目录下

6:运行oozie-setup.sh脚本的所有组件配置Oozie添加到libext /目录。

 语法: 

1 $ bin/oozie-setup.sh prepare-war [-d directory] [-secure]
2            sharelib create -fs <FS_URI> [-locallib <PATH>]
3            sharelib upgrade -fs <FS_URI> [-locallib <PATH>]
4            db create|upgrade|postupgrad -run [-sqlfile <FILE>]

将jar包导成war包

1 bin/oozie-setup.sh prepare-war -d /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/libxt

 

7:启动hadoop  创建一个hdfs目录oozie共享包  /user/root/share/lib/lib_20171214123146

1 bin/oozie-setup.sh sharelib create -fs hdfs://hadoop -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

 

(ps:如果已经存在直接使用upgrade更新最新的lib    bin/oozie-setup.sh sharelib upgrade -fs hdfs://hadoop -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

 

8:创建数据库

1 bin/ooziedb.sh create -sqlfile oozie.sql -run DB Connection

 

9:启动oozie

1 *在控制台启动
2 bin/oozied.sh run
3 *在后台启动
4 bin/oozied.sh start | stop

多了一个

 

10:oozie的日志目录

1 more /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/logs/oozie.log

补充一下 more的用法 

 

 11:访问 web端   http://hadoop:11000/oozie/

12:运行 example application

 1) 解压 

oozie-examples.tar.gz
1 tar -zxf oozie-examples.tar.gz

2) 上传examples至hdfs用户主目录下

1  /opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin/hadoop dfs -put examples examples

   注意:这里本地的/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/examples/apps/*里面的文件发生变化不用同步到hdfs的文件中

 3)  修改job.properties

oozie-4.0.0-cdh5.3.6/examples/apps/map-reduce/job.properties

1 #jobTracker=hadoop:8032 yrc是resourcemanager的ha cluster-id
2 jobTracker=yrc
3 # 队列 yarn的资源是按队列分配的
4 queueName=default
5 examplesRoot=examples
6 
7 #定义一个workflow工作流的路径,一个路径下只能有一个workflow.xml
8 oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce/workflow.xml
9 outputDir=map-reduce

 

4)运行job
###方法一 直接使用-oozie http://localhost:11000/oozie

1 bin/oozie job -oozie http://localhost:11000/oozie -config examples/apps/map-reduce/job.properties -run

 

###方法二 配置环境变量

1 export OOZIE_URL=http://localhost:11000/oozie
2 bin/oozie job -config examples/apps/map-reduce/job.properties -run

出现两个任务的原因是 oozie本身就是一个MapReduce 它又运行了一个MapReduce程序所以会有两个任务

 

 

 

 

 也可以在命令行查看结果

1 bin/oozie job --oozie http://localhost:11000/oozie -config examples/apps/map-reduce/job.properties -info 0000000-170205191208965-oozie-chk-W

这个博客里面详细的介绍了 oozie运行时的一些错误场景以及解决方案

1  http://blog.csdn.net/wiborgite/article/details/78585689

 

 

(4)oozie本身是一个MapReduce程序,仅仅只有Map Task。
          针对不同类型的任务,workflow,模板
(5)workflow action nodes
          *actions可以计算处理,运行在框架(远程)
          *actions是异步的
          *actions有两个状态:要么成功(ok)要么失败(error)
          *actions可以自动恢复
(6)如何定义一个WorkFlow

          * job.properties
                关键点:指向workflow.xml文件所在的HDFS位置
         * workflow.xml
               定义文件
               XML文件
                  包含几点
                        * start
                        * action
                              MapReduce、Hive、Sqoop、Shell
                             * ok
                             * error
                       * kill
                      * end
        * lib 目录
              依赖的jar包

  workflow.xml编写:
       * 流程控制节点
      * Action节点
   注意:节点名称必需复合 [a-zA-Z][\-_a-zA-Z0-0]* ,最大20个字符

 

posted @ 2017-12-14 17:40  再也伤不起  阅读(2257)  评论(0编辑  收藏  举报