[ 
https://issues.apache.org/jira/browse/SLIDER-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15112137#comment-15112137
 ] 

Jaeboo Jeong commented on SLIDER-1009:
--------------------------------------

In my case, I made the ELK(elastic, logstash, kibana) app package.
I wrote start script and supervisor configuration like below.

- start scripts {code}
    def start(self, env):
        ...
        process_cmd = format("/bin/sh {params.install_dir}/supervisor.sh start")

{code}
- supervisor.sh {code}
case $CMD in
  start)
    supervisord -c {{conf_dir}}/supervisord.conf
    ;;
  stop)
    supervisorctl -c {{conf_dir}}/supervisord.conf shutdown
    ;;
esac
{code}
- supervisord.conf {code}

[program:elasticsearch]
command={{install_dir}}/elasticsearch-${elasticsearch.version}/bin/elasticsearch
 -Des.config={{conf_dir}}/elasticsearch.yml
...

[program:logstash]
command={{install_dir}}/logstash-${logstash.version}/bin/logstash agent -f 
{{conf_dir}}/logstash
...

[program:kibana]
command={{install_dir}}/kibana-${kibana.version}/bin/kibana
...
{code}

If the application executed by slider, I could see processes of elk and 
supervisord.
But If the application is stopped by slider stop command, the processes always 
remained.

After applying the patch, the processes always stop.


> Slider stop command doesn’t invoke stop function inside an app package
> ----------------------------------------------------------------------
>
>                 Key: SLIDER-1009
>                 URL: https://issues.apache.org/jira/browse/SLIDER-1009
>             Project: Slider
>          Issue Type: Improvement
>          Components: agent
>    Affects Versions: Slider 0.81
>            Reporter: Jaeboo Jeong
>         Attachments: SLIDER-1009.patch
>
>
> As you know, slider stop does not stop the components started by slider, 
> instead it stops only SliderAM.
> In many case, this problem will be solved via YARN-3561 or HADOOP-11989.
> But if there isn’t any relation between component processes and slider agent 
> process,
> the components will remain after slider application is stopped.
> If we want to stop the remained components, we need to invoke a stop function.
> (Of course it assumes that the stop function has the abilities that can stop 
> components.)
> I patched the source code that is based on slider 0.81.1 + SLIDER-128 patch.
> When the agent receives the kill signal, the agent executes a stop command 
> like DockerManager
> and then all components will be stopped.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to