@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-log4j.properties ) set TEMPLETON_OPTS=-Dtempleton.log.dir=%TEMPLETON_LOG_DIR% -Dlog4j.configuration=%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 ^ @echo ^%templeton-service-name%^ @echo ^%templeton-service-name%^ @echo ^This service runs Apache Templeton^ @echo ^%JAVA%^ @echo ^%arguments%^ @echo ^ goto :eof :print_usage @echo Usage: templeton --service SERVICENAME @echo where SERVICENAME is name of the windows service xml endlocal