На каком узле Hadoop будут выполняться описанные ниже предварительная и постобработка?

У меня есть приведенный ниже код example для некоторой предварительной обработки перед запуском задания sclading и некоторой последующей обработки. Поскольку эти предварительная и постпроцессная обработка вызывают некоторую базу данных mysql, я хотел бы знать, на каких узлах 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?**

person Jas    schedule 11.06.2015    source источник


Ответы (1)


Размещенный вами код будет работать на главном узле Hadoop. scaldingTool.run(args) запустит ваше задание, которое запустит задания, выполняемые на узлах задач.

person Dan Osipov    schedule 16.06.2015