blob: f1424a54743b67ca7b2b80f2f4cc659fc4880324 [file] [log] [blame]
@echo off
@rem Licensed to the Apache Software Foundation (ASF) under one or more
@rem contributor license agreements. See the NOTICE file distributed with
@rem this work for additional information regarding copyright ownership.
@rem The ASF licenses this file to You under the Apache License, Version 2.0
@rem (the "License"); you may not use this file except in compliance with
@rem the License. You may obtain a copy of the License at
@rem
@rem http://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
setlocal enabledelayedexpansion
if not defined HADOOP_BIN_PATH (
set HADOOP_BIN_PATH=%~dp0
)
if "%HADOOP_BIN_PATH:~-1%" == "\" (
set HADOOP_BIN_PATH=%HADOOP_BIN_PATH:~0,-1%
)
@rem if we're being called by --service we need to use %2 otherwise use %1
@rem for the command line so we log to the right file
if "%2" == "" (
set HADOOP_LOGFILE=hadoop-%1-%computername%.log
) else (
set HADOOP_LOGFILE=hadoop-%2-%computername%.log
)
set mapred-config-script=%HADOOP_BIN_PATH%\hadoop-config.cmd
call %mapred-config-script% %*
:main
if "%1" == "--config" (
set config_override=true
shift
set HADOOP_CONF_DIR=%2
shift
if exist %HADOOP_CONF_DIR%\hadoop-env.cmd (
call %HADOOP_CONF_DIR%\hadoop-env.cmd
)
)
if "%1" == "--service" (
set service_entry=true
set HADOOP_ROOT_LOGGER=INFO,DRFA
shift
)
set mapred-command=%1
call :make_command_arguments %*
if not defined mapred-command (
goto print_usage
)
call :%mapred-command% %mapred-command-arguments%
set java_arguments=%HADOOP_OPTS% -classpath %CLASSPATH% %CLASS% %mapred-command-arguments%
if defined service_entry (
call :makeServiceXml %java_arguments%
) else (
call %JAVA% %java_arguments%
)
goto :eof
:historyserver
set CLASS=org.apache.hadoop.mapred.JobHistoryServer
set HADOOP_OPTS=%HADOOP_OPTS% %HADOOP_JOB_HISTORYSERVER_OPTS%
goto :eof
:mradmin
set CLASS=org.apache.hadoop.mapred.tools.MRAdmin
set HADOOP_OPTS=%HADOOP_OPTS% %HADOOP_CLIENT_OPTS%
goto :eof
:jobtracker
set CLASS=org.apache.hadoop.mapred.JobTracker
set HADOOP_OPTS=-server -Xmx4096m %HADOOP_OPTS% %HADOOP_JOBTRACKER_OPTS%
goto :eof
:tasktracker
set CLASS=org.apache.hadoop.mapred.TaskTracker
set HADOOP_OPTS=-Xmx512m %HADOOP_OPTS% %HADOOP_TASKTRACKER_OPTS%
goto :eof
:job
set CLASS=org.apache.hadoop.mapred.JobClient
goto :eof
:queue
set CLASS=org.apache.hadoop.mapred.JobQueueClient
goto :eof
:pipe
set CLASS=org.apache.hadoop.mapred.pipes.Submitter
set HADOOP_OPTS=%HADOOP_OPTS% %HADOOP_CLIENT_OPTS%
goto :eof
:sampler
set CLASS=org.apache.hadoop.mapred.lib.InputSampler
set HADOOP_OPTS=%HADOOP_OPTS% %HADOOP_CLIENT_OPTS%
goto :eof
:makeServiceXml
set arguments=%*
@echo ^<service^>
@echo ^<id^>%mapred-command%^</id^>
@echo ^<name^>%mapred-command%^</name^>
@echo ^<description^>This service runs Isotope %mapred-command%^</description^>
@echo ^<executable^>%JAVA%^</executable^>
@echo ^<arguments^>%arguments%^</arguments^>
@echo ^</service^>
goto :eof
@rem This changes %1, %2 etc. Hence those cannot be used after calling this.
:make_command_arguments
if [%2] == [] goto :eof
set _count=0
set _mapredarguments=
if defined service_entry (set _shift=2) else (set _shift=1)
if defined config_override (set /a _shift=!_shift! + 2)
:SHIFTLOOP
set /a _count=!_count!+1
if !_count! GTR %_shift% goto :MakeCmdArgsLoop
shift
goto :SHIFTLOOP
:MakeCmdArgsLoop
if [%1]==[] goto :EndLoop
if not defined _mapredarguments (
set _mapredarguments=%1
) else (
set _mapredarguments=!_mapredarguments! %1
)
shift
goto :MakeCmdArgsLoop
:EndLoop
set mapred-command-arguments=%_mapredarguments%
goto :eof
:print_usage
@echo Usage: mapred [--config confdir] COMMAND
@echo where COMMAND is one of:
@echo mradmin run a Map-Reduce admin client
@echo jobtracker run the MapReduce job Tracker node
@echo tasktracker run a MapReduce task Tracker node
@echo pipes run a Pipes job
@echo job manipulate MapReduce jobs
@echo queue get information regarding JobQueues
@echo historyserver run job history servers as a standalone daemon
@echo.
@echo Most commands print help when invoked w/o parameters.
endlocal