Konstantin Boudnik created AMBARI-5833:
------------------------------------------
Summary: Ambari service startup routine is incompatible with
standard LSB services definitions
Key: AMBARI-5833
URL: https://issues.apache.org/jira/browse/AMBARI-5833
Project: Ambari
Issue Type: Bug
Components: agent, controller
Affects Versions: 0.9.1, 1.4.0, 1.5.0
Environment: Ambari 1.5 (and perhaps all the way back)
Reporter: Konstantin Boudnik
Priority: Blocker
Standard LSB services are generated out of a template which defines a
hard-coded path to the service's PID file. In case of Bigtop distribution
derivatives the path for HDFS services is
{{/var/run/hadoop-hdfs}}, for mapreduce is {[{{/var/run/hadoop-mapred}}, etc.
This works same way for all commonly available open source - ASF Bigtop - and
commercial distros, like CDH, HDP, etc.
Ambari, on the other hand, provides a way to customize the location of the PID
files. However, it is done in an awkward way where only a prefix of the PID
directory can be specified (see Services->Configs->Advanced panel) and then a
{{/service-username}} is applied to the end of the prefix. As the result, any
standard functionality that relies on the location of services' PID gets broken.
Ambari can get away with it, because it doesn't use standard service script and
instead is calling into Hadoop scripting directly,
e.g.
{noformat}
2014-05-15 11:33:53,558 - Execute['ulimit -c unlimited; export
HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec &&
/usr/lib/hadoop/sbin/hadoop-daemon.sh --config /etc/hadoop/conf start
namenode'] {'not_if': 'ls /var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid
>/dev/null 2>&1 && ps `cat /var/run/hadoop/hdfs/hadoop-hdfs-namenode.pid`
>/dev/null 2>&1', 'user': 'hdfs'}
{noformat}
>From the Bigtop standpoint, this problem would block any integration attempts.
--
This message was sent by Atlassian JIRA
(v6.2#6252)