草庐IT

hadoop - 如何在 Oozie ssh 操作中传播委托(delegate) token

我有一个oozieshell操作,它执行一堆hadoopfs-getmerge命令,它目前失败是因为:[由GSSException引起:未提供有效凭据(机制级别:无法找到任何Kerberostgt)]在oozie文档中,它说明了如何为Java操作执行此操作:此处重要提示:为了使Java操作在安全集群上成功,它必须像以下代码片段一样传播Hadoop委托(delegate)token(这在非安全集群上是良性的)://将与委托(delegate)相关的Prop从启动器作业传播到MR作业如果(System.getenv("HADOOP_TOKEN_FILE_LOCATION")!=null){

hadoop - 在 Hadoop 中使用外部 Web 服务数据

我计划通过Hadoop框架满足以下要求。我有40%的数据位于SQLServer数据库中我有20%的数据可通过网络服务获取其余40%可通过另一个数据库获得。来自三个来源的数据需要结合在一起形成第四个数据集,我需要将其发送到2个系统-一个通过Web服务调用,另一个通过直接数据库导入。为了实现上述功能,我打算使用我们已有的Hadoop平台。可以通过Sqoop管理数据库拉取和推送。转换是通过Hive编写的SQL查询来管理的。所有这一切都通过Oozie工作流进行编排。在所有事情中,我想获得帮助的是-一个。直接调用Webservice从hadoop中获取数据是不是一种好方法?还是我根本不应该使用h

java - 如何使用 hue 界面将 Java Action 作为 oozie 工作流运行

我创建了一个接受args[0]=Hadoop的javamain方法的测试可执行jar。java程序接受这个参数并在文本文件中写入以下字符串;“currentTimeStamp/t欢迎使用Hadoop!/n”100,000次。我使用hue界面为java操作创建了一个oozie-workflow。请参阅下面的workflow.xml。然而,oozie-workflow执行成功,但操作不会创建或写入文本文件。文本文件路径为/user/ruben123/test.txt。当我使用命令java-jarTestRunner.jar"Hadoop"在本地unix服务器中运行jar文件时,它会正确执行

hadoop - 命令 'oozie admin sharedliblist ...' 的空共享库

我已经按照此处的说明安装了oozie并安装了共享库http://mockus.in/forum/viewtopic.php?t=48当我运行伴随安装的示例MapReduceWorkflow时,工作流失败了。在webconsole日志中,我可以看到此错误消息2015-05-2418:09:32,664WARNActionStartXCommand:544-SERVER[mountain]USER[mountain]GROUP[-]TOKEN[]APP[map-reduce-wf]JOB[0000000-150524175852032-oozie-moun-W]ACTION[0000000

hadoop - 在 Oozie 中为 Map-Reduce 作业指定驱动程序

${jobTracker}${nameNode}mapred.input.dir${inputDir}mapred.output.dir${outputDir}mapred.job.queue.name${queueName}mapred.reduce.tasks${numberofReducers}mapred.reducer.new-apitruemapred.mapper.new-apitrueMap/Reducefailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]我正在尝试使用Oozie运行map-reduce作

hadoop - Hive Oozie 错误处理

有没有人对Oozie异常/错误处理的最佳实践有什么建议?我们在Oozie工作流中有HiveActions,发现错误没有足够详细地记录。我们需要更多的堆栈跟踪和每个失败的更多上下文。有什么建议吗?提前致谢...喜满树 最佳答案 一旦oozie作业提交,Yarn将负责完成mapreduce的操作。作业提交到yarn后,检查ma​​predhistoryserver中的日志,或者通过oozie中的作业日志以及webUI中的错误代码列表进行检查。 关于hadoop-HiveOozie错误处理,我

hadoop - 插入 Hive 表时如何从 HDFS 中选择动态文件名

我有一个Hive表。现在我需要编写一个工作流程,每天工作都会在某个位置搜索文件-/data/data_YYYY-mm-dd.csvlike/data/data_2015-07-07.csv/data/data_2015-07-08.csv...因此每天工作流都会自动选择文件名并将数据加载到Hive表(MyTable)中。我正在编写如下加载脚本-在路径中加载数据“/data/${filepath}”覆盖到表MyTable。现在,在运行与普通配置单元作业相同的同时,我可以将文件路径设置为data_2015-07-07.csv,但如何在Oozie协调器中执行此操作,以便它自动选择名称为日期的

hadoop - Oozie 仅在指定时间范围内运行作业

我需要从RDBMS系统中读取600TB的数据,而且我必须在从午夜12点到早上7点的特定时间范围内执行此操作。由于无法在一天内摄取全部数据,因此需要分批执行。oozie是否可以在早上7点之前终止作业并在第二天重新启动失败的作业。 最佳答案 Oozie好像没有这个功能。我会尝试使用oozie-cli和cron终止并开始工作。 关于hadoop-Oozie仅在指定时间范围内运行作业,我们在StackOverflow上找到一个类似的问题: https://stacko

hadoop - oozie workflow 被杀死时回滚 Action

我一直在尝试在oozie中的一个Action失败时触发一个Action我可以使用错误节点来做到这一点,如下所示如果我的要求是在当前操作在oozie中失败时回滚,这将非常有效。我一直在寻找的是在工作流被终止的情况下触发一个步骤(如果有人进入工作流并单击HUE中的终止按钮。)当我通过HUE使用oozie时,我可以看到在workflow.xml中生成了一个名为kill的节点。我试图将我的自定义操作放在这个空间中,但每次我保存xml时,工作流都会获得默认值,如下所示Actionfailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]

hadoop - Oozie 作业在运行 hue 时由于 "not org.apache.hadoop.mapred.Mapper"而失败

我正在尝试通过oozie作业运行wordcount程序。当我像hadoopjarwordcoutjar/data.txt/out一样手动运行wordcoutjar时。它运行良好并给我输出。这是我的wordcount程序的映射器代码的详细信息。publicclassMapperWordcountextendsMapper{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(LongWritablekey,Textvalue,Contextcontext)thr