blob: 1b1ae6fd961f5cc3f9df56d1125032f40dce7ee8 [file] [log] [blame]
@rem Licensed to the Apache Software Foundation (ASF) under one
@rem or more contributor license agreements. See the NOTICE file
@rem distributed with this work for additional information
@rem regarding copyright ownership. The ASF licenses this file
@rem to you under the Apache License, Version 2.0 (the
@rem "License"); you may not use this file except in compliance
@rem with 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,
@rem software distributed under the License is distributed on an
@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@rem KIND, either express or implied. See the License for the
@rem specific language governing permissions and limitations
@rem under the License.
@echo off
setlocal enabledelayedexpansion
:main
if "%1" == "--service" (
set service_entry=true
shift
set templeton-service-name=%1
if not defined templeton-service-name (
goto print_usage
)
)
@rem Init hadoop env variables (CLASSPATH, HADOOP_OPTS, etc)
@rem deal with difference in the location of hadoop-config.cmd
set HADOOP_OPTS=
if exist %HADOOP_HOME%\libexec\hadoop-config.cmd (
call %HADOOP_HOME%\libexec\hadoop-config.cmd
) else (
call %HADOOP_HOME%\bin\hadoop-config.cmd
)
@rem
@rem Compute the classpath
@rem
set WEBHCAT_CONF_DIR=%HCATALOG_HOME%\etc\webhcat
set TEMPLETON_CLASSPATH=%WEBHCAT_CONF_DIR%;%HCATALOG_HOME%;%HCATALOG_HOME%\share\webhcat\svr
set TEMPLETON_CLASSPATH=!TEMPLETON_CLASSPATH!;%HCATALOG_HOME%\share\hcatalog\*
set TEMPLETON_CLASSPATH=!TEMPLETON_CLASSPATH!;%HCATALOG_HOME%\share\webhcat\svr\*
set TEMPLETON_CLASSPATH=!TEMPLETON_CLASSPATH!;%HCATALOG_HOME%\share\webhcat\svr\lib\*
set TEMPLETON_CLASSPATH=!TEMPLETON_CLASSPATH!;%HIVE_HOME%\conf
@rem TODO: append hcat classpath to the templeton classpath
@rem append hadoop classpath
set CLASSPATH=%TEMPLETON_CLASSPATH%;!CLASSPATH!
@rem compute templeton ops
if not defined TEMPLETON_LOG_DIR (
set TEMPLETON_LOG_DIR=%HCATALOG_HOME%\logs
)
if not defined TEMPLETON_LOG4J (
@rem must be prefixed with file: otherwise config is not picked up
set TEMPLETON_LOG4J=file:%WEBHCAT_CONF_DIR%\webhcat-log4j2.properties
)
set TEMPLETON_OPTS=-Dtempleton.log.dir=%TEMPLETON_LOG_DIR% -Dlog4j.configurationFile=%TEMPLETON_LOG4J% %HADOOP_OPTS%
set arguments=%JAVA_HEAP_MAX% %TEMPLETON_OPTS% -classpath %CLASSPATH% org.apache.hive.hcatalog.templeton.Main
if defined service_entry (
call :makeServiceXml %arguments%
) else (
call %JAVA% %arguments%
)
goto :eof
:makeServiceXml
set arguments=%*
@echo ^<service^>
@echo ^<id^>%templeton-service-name%^</id^>
@echo ^<name^>%templeton-service-name%^</name^>
@echo ^<description^>This service runs Apache Templeton^</description^>
@echo ^<executable^>%JAVA%^</executable^>
@echo ^<arguments^>%arguments%^</arguments^>
@echo ^</service^>
goto :eof
:print_usage
@echo Usage: templeton --service SERVICENAME
@echo where SERVICENAME is name of the windows service xml
endlocal