If you have installed a cluster with HDP 2.2 Stack that includes the Storm service, you can configure the Storm components to operate under supervision. This section describes those steps:
Stop all Storm components.
Using Ambari Web, browse to
Services > Storm > Service Actions
, choose Stop. Wait until the Storm service stop completes.Stop Ambari Server.
ambari-server stop
Change Supervisor and Nimbus command scripts in the Stack definition.
On Ambari Server host, run:
sed -ir "s/scripts\/supervisor.py/scripts\/supervisor_prod.py/g" /var/lib/ambari-server/resources/common-services/STORM/0.9.1.2.1/metainfo.xml sed -ir "s/scripts\/nimbus.py/scripts\/nimbus_prod.py/g" /var/lib/ambari-server/resources/common-services/STORM/0.9.1.2.1/metainfo.xml
Install supervisord on all Nimbus and Supervisor hosts.
Install EPEL repository.
yum install epel-release -y
Install supervisor package for supervisord.
yum install supervisor -y
Enable supervisord on autostart.
chkconfig supervisord on
Change supervisord configuration file permissions.
chmod 600 /etc/supervisord.conf
Configure
supervisord
to supervise Nimbus Server and Supervisors by appending the following to/etc/supervisord.conf
on all Supervisor host and Nimbus hosts accordingly.[program:storm-nimbus] command=env PATH=$PATH:/bin:/usr/bin/:/usr/jdk64/jdk1.7.0_67/bin/ JAVA_HOME=/usr/jdk64/jdk1.7.0_67 /usr/hdp/current/storm-nimbus/bin/storm nimbus user=storm autostart=true autorestart=true startsecs=10 startretries=999 log_stdout=true log_stderr=true logfile=/var/log/storm/nimbus.out logfile_maxbytes=20MB logfile_backups=10 [program:storm-supervisor] command=env PATH=$PATH:/bin:/usr/bin/:/usr/jdk64/jdk1.7.0_67/bin/ JAVA_HOME=/usr/jdk64/jdk1.7.0_67 /usr/hdp/current/storm-supervisor/bin/storm supervisor user=storm autostart=true autorestart=true startsecs=10 startretries=999 log_stdout=true log_stderr=true logfile=/var/log/storm/supervisor.out logfile_maxbytes=20MB logfile_backups=10
Note Change
/usr/jdk64/jdk1.7.0_67
accordingly to the location of the JDK being used by Ambari in your environment.Start Supervisord service on all Supervisor and Nimbus hosts.
service supervisord start
Start Ambari Server.
ambari-server start
Start all the other Storm components.
Using Ambari Web, browse to
Services > Storm > Service Actions
, chooseStart
.