oozie 运行demo

简介: 昨晚装好了oozie,能启动了,并且配置了mysql作为数据库,好了,今天要执行oozie自带的demo了,好家伙,一执行就报错!报错很多,就不一一列举了,就说我最后解决的方法吧。
昨晚装好了oozie,能启动了,并且配置了mysql作为数据库,好了,今天要执行oozie自带的demo了,好家伙,一执行就报错!报错很多,就不一一列举了,就说我最后解决的方法吧。
oozie job -oozie http://localhost:11000/oozie -config examples/apps/map-reduce/job.properties –run
这句话需要在oozie的目录里面执行,然后在网上查了很多资料,最后搞定了,需要修改三个配置文件。
在说修改配置文件之前,还漏了一些东西,先补上,首先我们需要解压目录下面的oozie-examples.tar.gz,oozie-client-3.3.2.tar.gz,
oozie-sharelib-3.3.2.tar.gz,然后把examples和share目录上传到fs上面去。
hadoop fs -put examples examples
hadoop fs -put share share
然后在/etc/profile配置oozie-client的环境变量。
接下来说怎么解决的oozie的吧。
1.修改oozie的conf目录下的oozie-site.xml
增加以下内容:
<property>  
       <name>oozie.services</name>  
        <value>  
            org.apache.oozie.service.SchedulerService,   
            org.apache.oozie.service.InstrumentationService,   
            org.apache.oozie.service.CallableQueueService,   
            org.apache.oozie.service.UUIDService,   
            org.apache.oozie.service.ELService,   
            org.apache.oozie.service.AuthorizationService,      
            org.apache.oozie.service.MemoryLocksService,   
            org.apache.oozie.service.DagXLogInfoService,   
            org.apache.oozie.service.SchemaService,   
            org.apache.oozie.service.LiteWorkflowAppService,   
            org.apache.oozie.service.JPAService,   
            org.apache.oozie.service.StoreService,   
            org.apache.oozie.service.CoordinatorStoreService,   
            org.apache.oozie.service.SLAStoreService,   
            org.apache.oozie.service.DBLiteWorkflowStoreService,   
            org.apache.oozie.service.CallbackService,   
            org.apache.oozie.service.ActionService,   
            org.apache.oozie.service.ActionCheckerService,   
            org.apache.oozie.service.RecoveryService,   
            org.apache.oozie.service.PurgeService,   
            org.apache.oozie.service.CoordinatorEngineService,   
            org.apache.oozie.service.BundleEngineService,   
            org.apache.oozie.service.DagEngineService,   
            org.apache.oozie.service.CoordMaterializeTriggerService,   
            org.apache.oozie.service.StatusTransitService,   
            org.apache.oozie.service.PauseTransitService, 
        org.apache.oozie.service.HadoopAccessorService  
        </value>  
        <description>  
            All services to be created and managed by Oozie Services singleton.   
            Class names must be separated by commas.   
        </description>  
    </property>

<property> 
       <name>oozie.service.ProxyUserService.proxyuser.cenyuhai.hosts</name> 
       <value>*</value> 
       <description> 
           List of hosts the '#USER#' user is allowed to perform 'doAs' 
           operations.

           The '#USER#' must be replaced with the username o the user who is 
           allowed to perform 'doAs' operations.

           The value can be the '*' wildcard or a list of hostnames.

           For multiple users copy this property and replace the user name 
           in the property name. 
       </description> 
   </property>

   <property> 
       <name>oozie.service.ProxyUserService.proxyuser.cenyuhai.groups</name> 
       <value>*</value> 
       <description> 
           List of groups the '#USER#' user is allowed to impersonate users 
           from to perform 'doAs' operations.

           The '#USER#' must be replaced with the username o the user who is 
           allowed to perform 'doAs' operations.

           The value can be the '*' wildcard or a list of groups.

           For multiple users copy this property and replace the user name 
           in the property name. 
       </description> 
   </property>
2.修改oozie-env.sh,增加以下内容
export OOZIE_CONF=${OOZIE_HOME}/conf 
export OOZIE_DATA=${OOZIE_HOME}/data 
export OOZIE_LOG=${OOZIE_HOME}/logs 
export CATALINA_BASE=${OOZIE_HOME}/oozie-server 
export CATALINA_TMPDIR=${OOZIE_HOME}/oozie-server/temp 
export CATALINA_OUT=${OOZIE_LOG}/catalina.out
3.修改所有节点的hadoop的配置文件core-site.xml
<property> 
    <name>hadoop.proxyuser.cenyuhai.hosts</name> 
    <value>hadoop.Master</value> 
 </property> 
 <property> 
    <name>hadoop.proxyuser.cenyuhai.groups</name> 
    <value>cenyuhai</value> 
</property>
然后重启就可以执行了,里面的cenyuhai是我的本机账号。
补充:在进行完上述配置之后,作业可以提交了,但是提交了MR作业之后,在web页面中查看,遇到了一个错误:
JA006: Call to localhost/127.0.0.1:9001 failed on connection exception: java.net.ConnectException: Connection refused
这个问题排查了很久,都没有得到解决 ,最后通过修改job.properties,把jobTracker从localhost:9001改成下面的全称才行,这个可能跟我的hadoop的jobTracker设置有关,所以遇到有这方面问题的童鞋可以试试。
nameNode=hdfs://192.168.1.133:9000
jobTracker=http://192.168.1.133:9001
接下来我们接着运行hive的demo,运行之前记得修改hive的demo的job.properties,改为上面写的那样。
然后提交,提交成功了,但是在web页面上查看状态为KILLED,被干掉了。。。
错误代码:JA018,错误消息:org/apache/hadoop/hive/cli/CliDriver
然后我就想着可能是jar包的问题,删掉share目录下的hive目录里的所有jar包,然后把自己机器上的hive的所有jar包复制到该目录下。
然后上传到共享目录上:
hadoop fs -put share share
再次提交,就可以查看到成功的状态啦!
oozie job -oozie http://localhost:11000/oozie -config examples/apps/hive/job.properties -run
但是这个坑爹的玩意儿,其实是把数据插入到了Derby中。。。无语了,虽然现实成功了,但是没有用。。。因为我们配置了外置的mysql数据库,那怎么办呢?
需要修改workflow.xml,把其中的configuration的配置节改成下面的样子。
<configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
        <property>
                <name>hive.metastore.local</name>
                <value>true</value>
            </property>
            <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://192.168.1.133:3306/hive?createDatabaseIfNotExist=true</value>
            </property>
            <property>
                    <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
            </property>
            <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                    <value>hive</value>
            </property>
            <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>mysql</value>
               </property>
        <property>  
              <name>hive.metastore.warehouse.dir</name>  
              <value>/user/hive/warehouse</value>
        </property> 
 </configuration>
然后提交之后,在hive中就可以查询到你所建立的表啦,oh,yeah!
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
7天前
|
云安全 人工智能 运维
当攻击全面Agent化,你的安全防御能否跟上AI Speed?
多起客户侧AK泄露事件应急的真实观察
1313 6
|
6天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
1004 17
|
10天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
1月前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9984 33
|
5天前
|
人工智能 开发者
Qoder CN 大使计划正式开启|无限创造,等你一起
全年免费积分、优先内测、活动支持与更多共创机会,邀请用 Qoder 把想法变成现实的你。
531 6
|
16天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
8天前
|
Web App开发 人工智能 JavaScript
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
REA(Reverse Engineer Anything)是近期爆火的开源AI逆向工具,4月发布,1个月内斩获15万+ Star。它让AI Agent无需源码即可分析二进制、APK、JS/Electron、HAR包等17类目标,自动反编译、生成可运行代码,并强制返回带证据与局限的结论。全本地执行,MIT协议,支持Hopper/Ghidra/IDA等引擎,一行命令即可上手。
760 2
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
|
15天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
1088 1