#!/bin/sh # # $FreeBSD$ # # PROVIDE: tasktracker # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable this service: # # tasktracker_enable (bool): Set to NO by default. # Set it to YES to enable tasktracker. # tasktracker_user (str): Set to %%MAPRED_USER%% by default. # Set to a valid user to change default # tasktracker user. # tasktracker_java_home (str): Unset by default. # Switch to another JVM. # # tasktracker_log_dir (str): Unset by default. # tasktracker_pid_dir (str): Unset by default. # . /etc/rc.subr name=tasktracker rcvar=tasktracker_enable load_rc_config "${name}" : ${tasktracker_enable:=NO} : ${tasktracker_user:=%%MAPRED_USER%%} : ${tasktracker_group:=%%HADOOP_GROUP%%} command="%%DATADIR%%/bin/hadoop-daemon.sh" command_args='--config ${HADOOP_CONF_DIR} start tasktracker' start_precmd=tasktracker_init stop_precmd=tasktracker_init stop_cmd=tasktracker_stop tasktracker_init() { if [ -n "${tasktracker_java_home}" ] then export JAVA_HOME="${tasktracker_java_home}" fi for f in %%ETCDIR%%/envvars.d/*.env do . ${f} done } tasktracker_stop () { su -m ${tasktracker_user} -c "${command} --config ${HADOOP_CONF_DIR} stop tasktracker" } run_rc_command "$1"