Browse Source

HADOOP-4916. Make user/location of Chukwa installation configurable by an
external properties file. Contributed by Eric Yang.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.20@732645 13f79535-47bb-0310-9956-ffa450edef68

Christopher Douglas 16 years ago
parent
commit
17ba721888

+ 3 - 0
CHANGES.txt

@@ -520,6 +520,9 @@ Release 0.20.0 - Unreleased
     HADOOP-4884. Make tool tip date format match standard HICC format. (Eric
     Yang via cdouglas)
 
+    HADOOP-4916. Make user/location of Chukwa installation configurable by an
+    external properties file. (Eric Yang via cdouglas)
+
 Release 0.19.1 - Unreleased
 
   IMPROVEMENTS

+ 2 - 2
src/contrib/chukwa/bin/agent.sh

@@ -22,11 +22,11 @@ bin=`cd "$bin"; pwd`
 . "$bin"/chukwa-config.sh
 
 echo "hadoop jar for agent is " ${HADOOP_JAR}
-trap '${JPS} | grep ChukwaAgent | grep -v grep | cut -f 1 -d" " | xargs kill -TERM ; exit 0' 1 2 15
+trap '${JPS} | grep ChukwaAgent | grep -v grep | grep -o "[^ ].*" | cut -f 1 -d" " | xargs kill -TERM ; exit 0' 1 2 15
 
 if [ "X$1" = "Xstop" ]; then
   echo -n "Shutting down agent..."
-  JETTY_PID=`${JPS} | grep ChukwaAgent | grep -v grep | cut -f 1 -d" "`
+  JETTY_PID=`${JPS} | grep ChukwaAgent | grep -v grep | grep -o "[^ ].*" | cut -f 1 -d" "`
   kill -TERM ${JETTY_PID} >&/dev/null
   echo "done"
   exit 0

+ 16 - 4
src/contrib/chukwa/build.xml

@@ -789,10 +789,22 @@ fi
 mv %{buildroot}/%{name}-%{version} %{buildroot}%{_prefix}/%{name}
 cd %{buildroot}%{_prefix}
 mkdir -p %{buildroot}/etc/init.d
-cat %{name}/tools/init.d/chukwa-data-processors | sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' > %{buildroot}/etc/init.d
-cat %{name}/tools/init.d/chukwa-collector | sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' > %{buildroot}/etc/init.d
-cat %{name}/tools/init.d/chukwa-agent | sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' > %{buildroot}/etc/init.d
-cat %{name}/tools/init.d/chukwa-system-metrics | sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' > %{buildroot}/etc/init.d
+cat %{name}/tools/init.d/chukwa-data-processors | \
+sed 's:- chukwa -c:- %{uid} -c:' | \
+sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' | \
+sed 's:CHUKWA_CONF_DIR=/usr/local/chukwa/conf:CHUKWA_CONF_DIR=%{_conf_dir}:' > %{buildroot}/etc/init.d/chukwa-data-processors
+cat %{name}/tools/init.d/chukwa-collector | \
+sed 's:- chukwa -c:- %{uid} -c:' | \
+sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' | \
+sed 's:CHUKWA_CONF_DIR=/usr/local/chukwa/conf:CHUKWA_CONF_DIR=%{_conf_dir}:' > %{buildroot}/etc/init.d/chukwa-collector
+cat %{name}/tools/init.d/chukwa-agent | \
+sed 's:- chukwa -c:- %{uid} -c:' | \
+sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' | \
+sed 's:CHUKWA_CONF_DIR=/usr/local/chukwa/conf:CHUKWA_CONF_DIR=%{_conf_dir}:' > %{buildroot}/etc/init.d/chukwa-agent
+cat %{name}/tools/init.d/chukwa-system-metrics | \
+sed 's:- chukwa -c:- %{uid} -c:' | \
+sed 's:CHUKWA_HOME=/usr/local:CHUKWA_HOME=%{_prefix}:' | \
+sed 's:CHUKWA_CONF_DIR=/usr/local/chukwa/conf:CHUKWA_CONF_DIR=%{_conf_dir}:' > %{buildroot}/etc/init.d/chukwa-system-metrics
 chmod a+x %{buildroot}/etc/init.d/chukwa-*
 rm -rf %{buildroot}%{_prefix}/%{name}/src
 rm -rf %{buildroot}%{_prefix}/%{name}/build.xml

+ 2 - 0
src/contrib/chukwa/default.properties

@@ -13,5 +13,7 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 rpm.prefix=/usr/local
+rpm.conf.dir=/usr/local/chukwa/conf
+hadoop.conf=/usr/local/hadoop
 rpm.uid=chukwa
 rpm.gid=users

+ 3 - 2
src/contrib/chukwa/tools/init.d/chukwa-agent

@@ -32,13 +32,14 @@ prog=chukwa-agent
 
 config () {
         CHUKWA_HOME=/usr/local/chukwa
+        CHUKWA_CONF_DIR=/usr/local/chukwa/conf
 }
 
 start () {
         echo -n $"Starting $prog: "
         config
         # start daemon
-	sudo -u gmon ${CHUKWA_HOME}/bin/chukwa-daemon.sh --watchdog start agent.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh --config=${CHUKWA_CONF_DIR} --watchdog start agent.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
@@ -49,7 +50,7 @@ stop () {
         # stop daemon
         echo -n $"Stopping $prog: "
         config
-	sudo -u gmon ${CHUKWA_HOME}/bin/chukwa-daemon.sh --watchdog stop agent.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh --config=${CHUKWA_CONF_DIR} --watchdog stop agent.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog

+ 4 - 3
src/contrib/chukwa/tools/init.d/chukwa-collector

@@ -31,14 +31,15 @@ DAEMON=jettyCollector.sh
 prog=chukwa-collector
 
 config () {
-        CHUKWA_HOME=/usr/local/chukwa
+                CHUKWA_HOME=/usr/local/chukwa
+                CHUKWA_CONF_DIR=/usr/local/chukwa/conf
 }
 
 start () {
         echo -n $"Starting $prog: "
         config
         # start daemon
-	sudo -u gmon ${CHUKWA_HOME}/bin/chukwa-daemon.sh --watchdog start jettyCollector.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh  --config=${CHUKWA_CONF_DIR} --watchdog start jettyCollector.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
@@ -49,7 +50,7 @@ stop () {
         # stop daemon
         config
         echo -n $"Stopping $prog: "
-	sudo -u gmon ${CHUKWA_HOME}/bin/chukwa-daemon.sh --watchdog stop jettyCollector.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh  --config=${CHUKWA_CONF_DIR} --watchdog stop jettyCollector.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog

+ 3 - 2
src/contrib/chukwa/tools/init.d/chukwa-data-processors

@@ -30,13 +30,14 @@ prog=chukwa-data-processors
 
 config () {
         CHUKWA_HOME=/usr/local/chukwa
+        CHUKWA_CONF_DIR=/usr/local/chukwa/conf
 }
 
 start () {
         echo -n $"Starting $prog: "
         config
         # start daemon
-	sudo -u gmon ${CHUKWA_HOME}/bin/start-data-processors.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/start-data-processors.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
@@ -47,7 +48,7 @@ stop () {
         # stop daemon
         echo -n $"Stopping $prog: "
         config
-	sudo -u gmon ${CHUKWA_HOME}/bin/stop-data-processors.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/stop-data-processors.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog

+ 3 - 2
src/contrib/chukwa/tools/init.d/chukwa-system-metrics

@@ -32,13 +32,14 @@ prog=chukwa-system-metrics
 
 config () {
         CHUKWA_HOME=/usr/local/chukwa
+        CHUKWA_CONF_DIR=/usr/local/chukwa/conf
 }
 
 start () {
         echo -n $"Starting $prog: "
         config
         # start daemon
-	sudo -u gmon ${CHUKWA_HOME}/bin/chukwa-daemon.sh start systemDataLoader.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh --config=${CHUKWA_CONF_DIR} start systemDataLoader.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
@@ -49,7 +50,7 @@ stop () {
         # stop daemon
         echo -n $"Stopping $prog: "
         config
-	sudo -u gmon ${CHUKWA_HOME}/bin/chukwa-daemon.sh stop systemDataLoader.sh
+	su - chukwa -c "${CHUKWA_HOME}/bin/chukwa-daemon.sh  --config=${CHUKWA_CONF_DIR} stop systemDataLoader.sh"
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog