#!/bin/sh # # $FreeBSD$ # # PROVIDE: jobtracker # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable this service: # # jobtracker_enable (bool): Set to NO by default. # Set it to YES to enable jobtracker. # jobtracker_user (str): Set to %%HADOOP_USER%% by default. # Set to a valid user to change default # jobtracker user. # jobtracker_java_home (str): Unset by default. # Switch to another JVM. # # jobtracker_log_dir (str): Unset by default. # jobtracker_pid_dir (str): Unset by default. # . /etc/rc.subr name=jobtracker rcvar=jobtracker_enable load_rc_config "${name}" : ${jobtracker_enable:=NO} : ${jobtracker_user:=%%HADOOP_USER%%} : ${jobtracker_group:=%%HADOOP_GROUP%%} command="%%HADOOP_HOME%%/bin/hadoop-daemon.sh" command_args='--config ${HADOOP_CONF_DIR} start jobtracker' start_precmd=jobtracker_init stop_precmd=jobtracker_init stop_cmd=jobtracker_stop jobtracker_init() { if [ -n "${jobtracker_java_home}" ] then export JAVA_HOME="${jobtracker_java_home}" fi for f in %%HADOOP_ETC%%/envvars.d/*.env do . ${f} done if [ -n "${jobtracker_log_dir}" ] then HADOOP_LOG_DIR=${jobtracker_log_dir} fi if [ -n "${jobtracker_pid_dir}" ] then HADOOP_LOG_DIR=${jobtracker_pid_dir} fi install -d -m 755 -o ${jobtracker_user} -g ${jobtracker_group} ${HADOOP_PID_DIR} install -d -m 755 -o ${jobtracker_user} -g ${jobtracker_group} ${HADOOP_LOG_DIR} } jobtracker_stop () { su -m ${jobtracker_user} -c "${command} --config ${HADOOP_CONF_DIR} stop jobtracker" } run_rc_command "$1"