`

oozie使用中的一些总结(持续完善)

 
阅读更多

 

 

 

0 关于oozie 寻找包寻找位置原则:

 

 

oozie在运行的时候 只会去两个地方寻找自己需要的lib
         1 回去当前提交任务的workflow所在的hdfs目录下的lib下寻找 
		  eg: /user/root/examples/apps/fork-merge的workflow下有  job.properties   lib   workflow.xml三个目录 会去lib目录下找对应jar
     
         2 如果是shell命令提交的话,他会主动去自己的公共资源库中寻找自己需要的jar文件,公共资源库为 /user/root/share/lib/lib_20150128185329
		   其中共享库里面存放的是oozie 常见action需要的包  比如hive  hive2 pig  sqoop oozie  hcatalog  distcp等
		   如果是java客户端提交任务的话,需要设置oozie.libpath(此时此路径下可以存放你工程需要的别的jar包而不需要存放在共享库中 防止混淆)
		   properties.setProperty("oozie.use.system.libpath","true");  ---> 设置使用oozie共享库
		   properties.setProperty("oozie.libpath","hdfs://master:9000/user/hdfs/examples/thirdlib");  ---> 设置存放工程使用的第三方的jar
		   
		 3 上面2是针对java代码写法,如果对应到job.properties写法为:
		   
		   nameNode=hdfs://master:9000
		   jobTracker=master:8032
		   queueName=default
		   examplesRoot=examples
		   
		   oozie.use.system.libpath=true
		   oozie.libpath=hdfs://master:9000/user/hdfs/examples/thirdlib
		   
		   oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/sqoop-sqlserver-to-hdfs

 

 

 

 

 

1 关于oozie使用调用sqoop action执行数据导出导入时对应的jar包

 

    1.1 需要将 mysql/sqlserver/oracle等主流数据库的驱动包放在oozie的共享库对应hdfs目录下 eg:

    hdfs://master:9000/user/root/share/lib/lib_20141031094140/sqoop下

    1.2 将 oozie-sharelib-sqoop-4.0.0-cdh5.1.0.jar   sqoop-1.4.4-cdh5.1.0.jar也放在上述目录中

    1.3 你环境中安装的sqoop是1.4.5的版本,那么你就需要在你的sqoop下将对应的包

         eg: sqoop-1.4.5.jar 放在oozie共享库的sqoop目录下,否则在oozie调用sqoop的时候 因为会找不到包

       而包各种奇怪的错。

 

 

2 hadoop运行时内存不足或者其他原因内存引起的错误

 

修改hadoop的配置文件 mapred-site.xml 增加如下内容

<property>
	<name>mapreduce.map.memory.mb</name>
	<value>1024</value>
</property>
<property>
	<name>mapreduce.reduce.memory.mb</name>
	<value>1024</value>
</property>
<property>
	<name>yarn.app.mapreduce.am.resource.mb</name>
	<value>500</value>
</property>

 
修改hadoop的配置文件 yarn-site.xml 增加如下内容

<property>
	<name>yarn.scheduler.minimum-allocation-mb</name>
	<value>512</value>
</property>
<property>
	<name>yarn.scheduler.maximum-allocation-mb</name>
	<value>2048</value>
</property>





 

3 关于oozie安装时mysql数据库问题和驱动这块:

 

由于oozie错误或者其他原因造成的oozie安装失败,第二次安装如果采用默认值可能会失败:eg 数据库初始化失败错误,
处理方式: 删除上一次默认的oozie数据文件data文件夹或者修改默认的值使得安装指向别的地方。

 

oozie要用mysql存储数据时,需要在搭建oozie时,将 mysql链接驱动拷贝 分别放在

oozie-4.2.0/lib下

oozie-4.2.0/oozie-server/lib下

oozie-4.2.0/libtools下

 

4 oozie提交任务时,job.properties文件的namenode属性值不建议写IP 建议写主机名

 

5 关于oozie分支的:

 

 oozie的节点分为 动作节点(action) 和控制节点(比如 start end  fork merge)  其中控制节点下目前只可以放动作节点
  分支节点下不支持在存放分支节点(即分支套分支的写法)
  案例来自官网: http://oozie.apache.org/docs/4.0.0/WorkflowFunctionalSpec.html#a3.1.5_Fork_and_Join_Control_Nodes
  
  <workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1">
    ...
    <fork name="forking">
        <path start="firstparalleljob"/>
        <path start="secondparalleljob"/>
    </fork>
    <action name="firstparallejob">
        <map-reduce>
            <job-tracker>foo:8021</job-tracker>
            <name-node>bar:8020</name-node>
            <job-xml>job1.xml</job-xml>
        </map-reduce>
        <ok to="joining"/>
        <error to="kill"/>
    </action>
    <action name="secondparalleljob">
        <map-reduce>
            <job-tracker>foo:8021</job-tracker>
            <name-node>bar:8020</name-node>
            <job-xml>job2.xml</job-xml>
        </map-reduce>
        <ok to="joining"/>
        <error to="kill"/>
    </action>
    <join name="joining" to="nextaction"/>
    ...
</workflow-app>

 

5.2  oozie分支中,如果分支中出现的是  java节点 但是java节点类中调用的是 mr,

       那么这种情况下,

       要么用 cdh集成好的oozie来执行

       要么你编译apache oozie 然后 和 apache hadoop   hadoop sqoop一起使用,

     否则,如果你下载chd的oozie + cdh的hadoop ,执行5,.2这种情况下 会在分支这块卡死的。

 

    这个结论是工作中遇到 弄了好几个工作日得到的结论。

 

 

 

 

 

 

 

6 关于oozie 对应mysql数据库下表的说明:

 

 

 

 

 

7 关于oozie webservice api的部分说明:

 

 

 

 

 

 

其余问题后续需要跟进的:   需要等到7月份

 

a) 关于oozie流程设计图设计方面的技巧 规则 建议

 

b) 关于oozie 用户的,尤其是oozie在 cm版本上的用户  什么oozie用户 root用户 等等

    在cm上oozie用的是哪个账号提交任务  白名单等

   

 

c)  oozie提怎么提交任务给mr的,oozie是否有一些参数来规定提交到mr后 mr任务的启动的任务数,

    占有资源等

 

分享到:
评论

相关推荐

    oozie-4.2.0

    总结来说,Apache Oozie 4.2.0是大数据工作流管理的重要工具,它的特性包括高效的工作流引擎、广泛的任务支持、友好的用户界面、强大的安全性以及社区驱动的持续改进。通过深入理解和充分利用这个版本,用户可以构建...

    hadoop-2.6.0-cdh5.9.3.tar.gz

    6. Oozie工作流管理系统:Oozie在这一版本中进一步完善,可以更好地协调和调度Hadoop生态系统中的各种作业。 7. 安全性增强:CDH 2.6.0-cdh5.9.3加强了安全机制,支持Kerberos认证,为敏感数据提供保护。 四、应用...

    hadoop2.2.0

    10. 持续发展:Hadoop 2.2.0之后,Hadoop不断进化,推出了Hadoop 2.3.x、2.4.x等多个版本,进一步完善了功能,提升了性能,为大数据处理提供了更为强大的平台。 总结来说,Hadoop 2.2.0作为Hadoop的重要版本,不仅...

    Data Stack Overview

    数据栈概述 本文将对数据分析工具进行详细探讨,这些工具涵盖了从数据源获取到预处理、数据库存储、机器学习...未来,随着数据量的持续增长和新技术的不断涌现,数据栈也将不断发展和完善,以满足更加复杂多变的需求。

    hhhhh安卓开发教程大全

    hhhhh安卓开发教程大全

    avem-labs_Avem_1740990015.zip

    avem-labs_Avem_1740990015.zip

    25883-mofangmall.com 微信群管理机器人系统网站.zip

    微信群机器人管理系统源码 微信群机器人管理系统源码 支持同登陆多个微信 源码类型: C/S 开发环境: VS2010 SQL2008R2 菜单功能 1、支持同时登录多个微信 2、支持机器人聊天(笑话,成语接龙、故事会、智力等等) 3、支持签到 4、可自定义回复 5、可自定义红包语 6、支持定期发送公告(如群规,广告)等 1、WeChatRobots后台配置web版 2、数据库在WeiChartGroup.Net/app_data中,附加即可

    https://upload.csdn.net/creation/uploadResources?spm=1003.2018.3001.4314

    https://upload.csdn.net/creation/uploadResources?spm=1003.2018.3001.4314

    名字微控制器_STM32_课程_DeepBlue_1740989720.zip

    名字微控制器_STM32_课程_DeepBlue_1740989720.zip

    S7-200Smart恒压供水程序示例与485通讯实践:操作指南与案例解析,S7-200 Smart可编程控制器恒压供水程序设计与实现,附带485通讯范例,S7-200Smart 恒压供水程序样例+4

    S7-200Smart恒压供水程序示例与485通讯实践:操作指南与案例解析,S7-200 Smart可编程控制器恒压供水程序设计与实现,附带485通讯范例,S7-200Smart 恒压供水程序样例+485通讯样例 ,S7-200Smart; 恒压供水程序样例; 485通讯样例,S7-200Smart程序样例:恒压供水及485通讯应用示例

    Java读写Mifare M1卡IC卡源码

    Java使用JNA、JNI两种不同方式调用DLL、SO动态库方式读写M1卡源码,支持读写M1卡扇区数据、修改IC卡扇区密钥、改写UID卡卡号等功能,支持Windows系统,同时支持龙芯Mips、LoongArch、海思麒麟鲲鹏飞腾Arm、海光兆芯x86_Amd64等架构平台的国产统信、麒麟等Linux系统,内有jna-4.5.0.jar包,vx13822155058 qq954486673

    UDP协议接收和发送数据示例JAVA

    UDP协议接收和发送数据示例JAVA

    VU-DBS项目:深脑刺激器的全程辅助

    本文介绍了范德堡大学深脑刺激器(DBS)项目,该项目旨在开发和临床评估一个系统,以辅助从规划到编程的整个过程。DBS是一种高频刺激治疗,用于治疗运动障碍,如帕金森病。由于目标区域在现有成像技术中可见性差,因此DBS电极的植入和编程过程复杂且耗时。项目涉及使用计算机辅助手术技术,以及一个定制的微定位平台(StarFix),该平台允许在术前进行图像采集和目标规划,提高了手术的精确性和效率。此外,文章还讨论了系统架构和各个模块的功能,以及如何通过中央数据库和网络接口实现信息共享。

    图像识别项目源码资源(Python和C++)

    图像识别”项目源码资源(Python和C++)

    虚拟同步电机与并电网模型的Simulink仿真参数配置与直接使用指南,虚拟同步电机与并电网模型的Simulink仿真:参数齐全,直接使用,同步电机simulink仿真 并电网模型仿真 参数设置好了

    虚拟同步电机与并电网模型的Simulink仿真参数配置与直接使用指南,虚拟同步电机与并电网模型的Simulink仿真:参数齐全,直接使用,同步电机simulink仿真 并电网模型仿真 参数设置好了,可直接使用 ,虚拟同步电机; simulink仿真; 并电网模型仿真; 参数设置; 使用,虚拟同步电机Simulink仿真与并电网模型参数化应用

    三菱FX3U与力士乐VFC-x610变频器通讯案例详解:PLC控制下的变频器操作与设置程序,含接线方式及昆仑通态触摸屏操作指南,三菱FX3U与力士乐VFC-x610变频器通讯案例详解:接线、设置与程序

    三菱FX3U与力士乐VFC-x610变频器通讯案例详解:PLC控制下的变频器操作与设置程序,含接线方式及昆仑通态触摸屏操作指南,三菱FX3U与力士乐VFC-x610变频器通讯案例详解:接线、设置与程序注解,实现频率设定、启停控制与实时数据读取功能。,三菱FX3U与力士乐VFC-x610变频器通讯程序三菱FX3U与力士乐VFC-x610变频器通讯案例程序,有注释。 并附送程序,有接线方式,设置。 器件:三菱FX3U的PLC,力士乐VFCx610变频器,昆仑通态,威纶通触摸屏。 功能:实现频率设定,启停控制,实际频率读取等。 ,三菱FX3U;力士乐VFC-x610变频器;通讯程序;案例程序;注释;接线方式;设置;频率设定;启停控制;实际频率读取;昆仑通态;威纶通触摸屏。,三菱FX3U与力士乐VFC-x610变频器通讯程序及案例:频率控制与读取实践

    xmselect测试用例~~~~~~~~~~~~~~

    xmselect测试用例~~~~~~~~~~~~~~

    Unity-游戏开发-模型资源-科幻武器

    总共包含 32 款 AAA 级科幻武器。四种武器类型,每种有 8 种不同的纹理变化! 所有内容均采用 PBR 材质,可直接用于开发游戏!

    python词云生成器,将txt文本自动分割生成词云图

    python词云生成器,将txt文本自动分割生成词云图

    基于物联网智能化平台的智慧园区解决方案PPT(28页).pptx

    智慧园区,作为现代城市发展的新形态,旨在通过高度集成的信息化系统,实现园区的智能化管理与服务。该方案提出,利用智能手环、定制APP、园区管理系统及物联网技术,将园区的各类设施与设备紧密相连,形成一个高效、便捷、安全的智能网络。从智慧社区到智慧酒店,从智慧景区到智慧康养,再到智慧生态,五大应用板块覆盖了园区的每一个角落,为居民、游客及工作人员提供了全方位、个性化的服务体验。例如,智能手环不仅能实现定位、支付、求助等功能,还能监测用户健康状况,让科技真正服务于生活。而智慧景区的建设,更是通过大数据分析、智能票务、电子围栏等先进技术,提升了游客的游玩体验,确保了景区的安全有序。 尤为值得一提的是,方案中的智慧康养服务,展现了科技对人文关怀的深刻体现。通过智慧手环与传感器,自动感知老人身体状态,及时通知家属或医疗机构,有效解决了“空巢老人”的照护难题。同时,智慧生态管理系统的应用,实现了对大气、水、植被等环境要素的实时监测与智能调控,为园区的绿色发展提供了有力保障。此外,方案还提出了建立全域旅游营销平台,整合区域旅游资源,推动旅游业与其他产业的深度融合,为区域经济的转型升级注入了新的活力。 总而言之,这份智慧园区建设方案以其前瞻性的理念、创新性的技术和人性化的服务设计,为我们展示了一个充满智慧与活力的未来园区图景。它不仅提升了园区的运营效率和服务质量,更让科技真正融入了人们的生活,带来了前所未有的便捷与舒适。对于正在规划或实施智慧园区建设的决策者而言,这份方案无疑提供了一份宝贵的参考与启示,激发了他们对于未来智慧生活的无限遐想与憧憬。

Global site tag (gtag.js) - Google Analytics