当前位置: 首页 > news >正文

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个字符

 

转载于:https://www.cnblogs.com/xuyou551/p/8038926.html

相关文章:

  • php-fpm添加service服务
  • 【GitHub】给GitHub上的ReadMe.md文件中添加图片怎么做 、 gitHub创建文件夹
  • MYSQL5.5安装
  • 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B - 幸运大奖
  • ajax框架---- ExtJS
  • 环境变量PATH、cp命令 、mv命令、 文档查看cat/more/less/head/tail
  • IOS11 光标错位问题
  • 禁用 Python GC,Instagram 性能提升10%
  • Xwiki平台Windows搭建(Tomcat7 + XWiki6.2 + MySQL5.5)
  • 第三方库内部引用其他库异常
  • msyql 移动某一列数据到某列 字段加前缀
  • Java设计模式之策略设计模式
  • 你该为产品设计怎样的气质
  • 敲代码需要一丝不苟,Node静态化,ejs文件里多了一条外联下的Bug问题
  • centos7 虚拟机安装docker-ce-17.09
  • [译]CSS 居中(Center)方法大合集
  • Angular 2 DI - IoC DI - 1
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • js对象的深浅拷贝
  • JS学习笔记——闭包
  • node学习系列之简单文件上传
  • Protobuf3语言指南
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • XForms - 更强大的Form
  • 基于 Babel 的 npm 包最小化设置
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 京东美团研发面经
  • 配置 PM2 实现代码自动发布
  • 前端
  • 悄悄地说一个bug
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 项目实战-Api的解决方案
  • 字符串匹配基础上
  • ionic异常记录
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # C++之functional库用法整理
  • ###C语言程序设计-----C语言学习(3)#
  • #android不同版本废弃api,新api。
  • #HarmonyOS:基础语法
  • #ifdef 的技巧用法
  • #pragma once与条件编译
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)Android开发优化---------UI优化
  • (2022 CVPR) Unbiased Teacher v2
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (a /b)*c的值
  • (C)一些题4
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)