在剪切作业运行和一些后期处理之前,我有一些预处理的example
代码。由于这些预处理和后处理正在调用一些mysql数据库,我想知道哪些hadoop节点将hadoop可能运行它们? (我需要打开从这些节点到数据库的端口)是否可以运行预处理和后处理任何hadoop
data-node
?我尝试做一些研究,但找不到任何指示,如何通过文档/来源找到它将运行的节点? (PS工作安排在oozie)
preProcessingBeforeJobRuns() // **in which hadoop node would this be run? could it run on any datanode?**
log.info(s"ABOUT TO RUN JOB with input $jobInput")
val scaldingTool = new Tool
scaldingTool.setJobConstructor(createJob(jobInput))
val parser: GenericOptionsParser = new GenericOptionsParser(new Configuration(), args)
scaldingTool.setConf(parser.getConfiguration)
log.info(s"CALLING SCALDING RUN with args: ${args.toList.mkString(" ")}")
val status = scaldingTool.run(args)
log.info("FINISHED RUNNING JOB!")
somePostJobProcessing() // **in which hadoop node would this be run? could it run on any datanode?**
答案 0 :(得分:1)
您发布的代码将在Hadoop主节点上运行。 scaldingTool.run(args)
将触发您的作业,这将触发在任务节点上执行的作业。