Hi,harsh, your conclusion is very helpful, thanks ! and also Alejandro.
2013/1/29 Harsh J <[email protected]> > Hi Jinwei, > > Oozie submits jobs by first running a 1-map job. The flow is hence: > Oozie -> JobClient -> Launcher job (on cluster) -> Launcher mapper (on > cluster) -> JobClient (from map task, on cluster) -> Actual user's > code/job (on cluster). The real job is submitted from a job on the > cluster - not from Oozie. > > We do this to prevent running any form of user code to run into the > Oozie runtime itself. For example, if a user's java action code had > System.exit or other insecure code, we're exposing Oozie to crash as a > result of having run that code. Hence we run the user code as a job on > the cluster itself, wherein even if it fails, segfaults, etc., the > Oozie server remains unaffected, with just the added cost of 1 extra > map slot. > > The LauncherMapper's job itself has no user elements when launching. > It uses its own I/F and O/F, creates a proper config object and > invokes the user's class after that. > > On Mon, Jan 28, 2013 at 2:51 PM, jinwei zhu <[email protected]> wrote: > > Hi, community, > > I find that in the method submitLauncher of > JavaActionExecutor.java > > there is a call to JobClient , it seems to submit a job, but what is the > > purpose of submitting the job? > > > > > > Best regards! > > > > -- > Harsh J >
