Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Feb 2015 13:16:35 +0000 (UTC)
From:      Dmitry Sivachenko <demon@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r379091 - head/devel/hadoop2/files
Message-ID:  <201502161316.t1GDGZOp022682@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: demon
Date: Mon Feb 16 13:16:34 2015
New Revision: 379091
URL: https://svnweb.freebsd.org/changeset/ports/379091
QAT: https://qat.redports.org/buildarchive/r379091/

Log:
  Protect datanode and nodemanager daemons from being killed on OOM condition.
  They run on worker nodes where users run their code and can easily consume
  all RAM.

Modified:
  head/devel/hadoop2/files/datanode.in
  head/devel/hadoop2/files/nodemanager.in

Modified: head/devel/hadoop2/files/datanode.in
==============================================================================
--- head/devel/hadoop2/files/datanode.in	Mon Feb 16 12:05:14 2015	(r379090)
+++ head/devel/hadoop2/files/datanode.in	Mon Feb 16 13:16:34 2015	(r379091)
@@ -14,6 +14,7 @@
 export PATH=${PATH}:%%LOCALBASE%%/bin
 name=datanode
 rcvar=datanode_enable
+pidfile=%%HADOOP_RUNDIR%%/hadoop-%%HDFS_USER%%-${name}.pid
 
 load_rc_config "${name}"
 
@@ -23,8 +24,16 @@ load_rc_config "${name}"
 command="%%PREFIX%%/sbin/hadoop-daemon.sh"
 command_args='--config %%ETCDIR%% start datanode'
 
+start_postcmd="start_postcmd"
 stop_cmd=datanode_stop
 
+start_postcmd () {
+  rc_pid=$(check_pidfile ${pidfile} %%JAVA_HOME%%/bin/java)
+  if [ -n "$rc_pid" ]; then
+    protect -p $rc_pid
+  fi
+}
+
 datanode_stop () {
   su -m ${datanode_user} -c "${command} --config %%ETCDIR%% stop datanode"
 }

Modified: head/devel/hadoop2/files/nodemanager.in
==============================================================================
--- head/devel/hadoop2/files/nodemanager.in	Mon Feb 16 12:05:14 2015	(r379090)
+++ head/devel/hadoop2/files/nodemanager.in	Mon Feb 16 13:16:34 2015	(r379091)
@@ -14,6 +14,7 @@
 export PATH=${PATH}:%%LOCALBASE%%/bin
 name=nodemanager
 rcvar=nodemanager_enable
+pidfile=%%HADOOP_RUNDIR%%/yarn-yarn-${name}.pid
 
 load_rc_config "${name}"
 
@@ -23,8 +24,16 @@ load_rc_config "${name}"
 command="%%PREFIX%%/sbin/yarn-daemon.sh"
 command_args='--config %%ETCDIR%% start nodemanager'
 
+start_postcmd="start_postcmd"
 stop_cmd=nodemanager_stop
 
+start_postcmd () {
+  rc_pid=$(check_pidfile ${pidfile} %%JAVA_HOME%%/bin/java)
+  if [ -n "$rc_pid" ]; then
+    protect -p $rc_pid
+  fi
+}
+
 nodemanager_stop () {
   su -m ${nodemanager_user} -c "${command} --config %%ETCDIR%% stop nodemanager"
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502161316.t1GDGZOp022682>