问题标签 [oozie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sqoop - 在 oozie 中捕获 sqoop 输出
我有一个 Oozie 工作流程,它应该每 X 分钟运行一次。它从 HBase 表中读取一个值。在此之后,基于上一步中从 HBase 读取的值运行 Sqoop 操作(增量)。为了使工作流正常工作,我需要以某种方式从 Sqoop Oozie 操作中捕获新的 --last-value 以将其写回 HBase,并在下次工作流运行时再次读取它......等等。
我该怎么做,或者可能有更好的方法?
乔纳斯
hadoop - 运行 oozie fork 时出现 LeaseExpiredException
我们正在尝试Oozie
使用 3 个子工作流并行运行一个工作流fork
。子工作流包含一个运行本机 map reduce 作业的节点,以及运行一些复杂PIG
作业的后续两个节点。最后,三个子工作流连接到一个end
节点。
当我们运行这个工作流时,我们得到LeaseExpiredException
. 运行PIG
作业时会随机发生异常。它发生的时间没有确定的位置,但每次我们运行WF时都会发生。
此外,如果我们删除fork
并按顺序运行子工作流程,它工作正常。但是,我们的期望是让它们在某些执行时间并行运行并且相同。
您能否帮助我理解这个问题以及一些关于我们可能出错的地方的指示。我们是从hadoop
开发开始的,之前还没有遇到过这样的问题。
看起来由于多个任务并行运行,其中一个线程关闭了一个零件文件,当另一个线程试图关闭该文件时,它会引发错误。
以下是 hadoop 日志中异常的堆栈跟踪。
以下是主要工作流程和一个子工作流程的示例。
主要工作流程:
子工作流程:
shell - Oozie shell Action - 从 shell 问题运行 hive
基于条件为真,我正在 shell 脚本中执行 hive -e。它工作正常。当我将此脚本放入 Oozie 中的 Shell 操作并运行时,我得到一个 scriptName.sh: 第 42 行:hive:command not found 异常。
我尝试在 shell 操作中传递 < env-var >PATH=/usr/lib/hive</env-var> ,但我想我在那里犯了一些错误,因为我得到了相同的错误 scriptName.sh: line 42 : hive: 找不到命令
编辑:
我which hive
在shell脚本中使用。它的输出不一致。我得到了两种不同的输出:
1./usr/bin/hive
还有一个Delegation token can be issued only with kerberos or web authentication
Java IOException。”
2.which : hive not in {.:/sbin:/usr/bin:/usr/sbin:...}
hadoop - 如何创建从 hive 表到关系数据库的数据管道
背景 :
我有一个包含日志信息的 Hive 表“日志”。该表每小时都会加载新的日志数据。我想对过去 2 天的日志进行一些快速分析,所以我想将最近 48 小时的数据提取到我的关系数据库中。
为了解决上述问题,我创建了一个由 HIVE SQL 查询加载的临时配置表。将新数据加载到临时表后,我使用 sqoop Query 将新日志加载到关系数据库中。
问题是 sqoop 正在将数据加载到 BATCH 中的关系数据库中。因此,在任何特定时间,我只有特定小时的部分日志。
这会导致错误的分析输出。
问题:
1)。如何使这个 Sqoop 数据加载具有事务性,即要么导出所有记录,要么不导出任何记录。
2)。在 Hive 表 -> 暂存表 -> 关系表的整个过程中构建这个数据管道的最佳方法是什么。
技术细节:
Hadoop 版本 1.0.4
Hive- 0.9.0
Sqoop - 1.4.2
hadoop - Secure Oozie Web Console not working from my Windows machine
I have setup a secure(Kerberos) Oozie environment in CentOS 6.3 using CDH 4.1.2. I am able to view the Oozie web console from CentOS machine which is hosted in server. But is there a way to view the webconsole from my local Windows machine.
I have tried creating a HTTP principal with my windows machine as hostname. I am able to get a valid ticket for HTTP principal. But when I open the Oozie Web Console, I get the following error
org.apache.hadoop.security.authentication.client.AuthenticationException: GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag)
Am I missing something. Help me guys.
Thanks,
Vishnu Ganth
hadoop - Oozie:子工作流操作:如何检索子工作流 id?
我有一个 Oozie 工作流,它调用另一个工作流来使用<sub-workflow />
操作节点调用一些必需的操作。子工作流程在以其工作流程 ID 命名的目录中创建数据集。我需要在主工作流(调用另一个工作流的工作流)中处理位于该目录中的数据集。为此,我有必要检索子工作流的 ID。
有什么方法可以从调用工作流中获取子工作流的 id 吗?
hadoop - 使用 Oozie 组合输出文件部分
是否可以使用 Oozie 将 MapReduce 作业的输出连接到单个文件中?可以说我有输出......
而我只想...
我知道我可以将它们作为单个文件拉下来hadoop fs -getmerge
,但我很好奇它是否可以使用工作流应用程序和 HDFS。
hadoop - 启动 Oozie 工作流程的问题
我在启动 Oozie 工作流程时遇到问题:
配置:
文件内容:
我得到错误:
有任何想法吗?
hadoop - Oozie 协调员。如何将过去的数据提供给 mapreduce 作业?
我正在尝试创建 Ooize 协调器。问题是我已经有暂存数据等待使用 oozie 进行处理。
想象一下这样的情况。
当前日期是:01.03.2013(2013年3月1日)
我确实有这些输入目录:
/staging/landing/source/xvlr/2013/02/01/00(2013 年 2 月 1 日,一天的第一个小时) /staging/landing/source/xvlr/2013/02/01/01
/staging/landing/source/xvlr/2013/02/01/02
/staging/landing/source/xvlr/2013/02/01/03
/staging/landing/source/xvlr/2013/02/01/04
……
/登台/登陆/来源/xvlr/2013/02/28/00
...
/登台/登陆/来源/xvlr/2013/02/28/23
我希望我的 oozie 协调器使用所有以前创建的着陆数据并产生这样的输出:
然后我希望我的协调员每小时运行一次并为 masterdata 生成新的输出。
我如何使用协调器规范来做到这一点?这是我的协调员。它什么也不做。它确实达到了我需要的时间,然后等待。它不会开始工作。
请指教。
hadoop - Oozie map-reduce 示例在使用 Bigtop 0.5.0 时因 ClassNotFoundException 而失败
我使用 Bigtop 0.5.0 存储库和 Sun Java 1.6 的相对干净的 CentOS 6.3 安装。我按照此处的说明添加 Bigtop 存储库。
我已经使用 yum 安装了 Hadoop common 和 Oozie。我通过运行 sudo service oozie init 配置了 oozie,然后使用 Bigtop 0.6.0 中 init-hdfs.sh 文件中的命令设置 HDFS 路径。
我可以毫无问题地运行 Java 和流式映射减少作业。我还可以运行与 Bigtop 捆绑在一起的 Oozie 流媒体示例。不幸的是,当我尝试运行 map-reduce 示例时,我得到一个 java.lang.ClassNotFoundException
我可以从 HDFS 审计日志中看到 oozie-examples-3.3.0.jar 文件被检查,但从未打开。这些是工作流运行时审计日志中 jar 文件仅有的四个条目:
我从端口 8088 上的 webconsole 获得的容器日志显示以下异常,但没有提供进一步的线索:
当工作流的失败阶段正在运行时,我设法从 temp 目录中获取了 job.xml 文件,并且我可以看到 jar 文件被添加到类路径属性中:
...但显然仍未找到该课程。我已将所有组件的所有调试都设置为 DEBUG,并且找不到更多线索。
我只是错误地配置了某些东西,还是这实际上是一个错误?我真的不知道下一步该做什么。