Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1239#discussion_r184169114
  
    --- Diff: distribution/src/resources/yarn-drillbit.sh ---
    @@ -175,4 +209,11 @@ fi
     echo "`date` Starting drillbit on `hostname` under YARN, logging to 
$DRILLBIT_LOG_PATH"
     echo "`ulimit -a`" >> "$DRILLBIT_LOG_PATH" 2>&1
     
    -"$DRILL_HOME/bin/runbit" exec
    +# Run in background
    +"$DRILL_HOME/bin/runbit" exec &
    --- End diff --
    
    Under YARN, it is YARN that maintains the pid, not Drill. YARN expects its 
child processes to run in the foreground and will handle capturing the pid.
    
    This is a case in which "native" Apache YARN works differently than "MapR 
YARN." Since Apache YARN handles cgroups, it is the one that needs the pid. 
Under MapR's limited YARN, then Drill is second-guessing YARN and needs the 
pid. It may be that MapR's YARN can handle a background process; I don't recall 
the details.
    
    Is there way way to run Drill in the background, get the pid, then return 
to the foreground so that the script does not exit until Drill itself exits?
    
    In fact, if I remember correctly, the scripts have two layers; in one 
layer, the script replaces itself with the Drill process. Something to check.


---

Reply via email to