|
|
|
@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 [%1] EQU [] (
|
|
|
|
echo USAGE: %0 classname [opts]
|
|
|
|
EXIT /B 1
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Using pushd popd to set BASE_DIR to the absolute path
|
|
|
|
pushd %~dp0..\..
|
|
|
|
set BASE_DIR=%CD%
|
|
|
|
popd
|
|
|
|
set CLASSPATH=
|
|
|
|
|
|
|
|
IF ["%SCALA_VERSION%"] EQU [""] (
|
|
|
|
set SCALA_VERSION=2.10.5
|
|
|
|
)
|
|
|
|
|
|
|
|
IF ["%SCALA_BINARY_VERSION%"] EQU [""] (
|
|
|
|
set SCALA_BINARY_VERSION=2.10
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for kafka-core dependencies
|
|
|
|
for %%i in (%BASE_DIR%\core\build\dependant-libs-%SCALA_VERSION%\*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for kafka-perf dependencies
|
|
|
|
for %%i in (%BASE_DIR%\perf\build\dependant-libs-%SCALA_VERSION%\*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for kafka-clients
|
|
|
|
for %%i in (%BASE_DIR%\clients\build\libs\kafka-clients-*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for kafka-examples
|
|
|
|
for %%i in (%BASE_DIR%\examples\build\libs\kafka-examples-*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for contrib/hadoop-consumer
|
|
|
|
for %%i in (%BASE_DIR%\contrib\hadoop-consumer\build\libs\kafka-hadoop-consumer-*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for contrib/hadoop-producer
|
|
|
|
for %%i in (%BASE_DIR%\contrib\hadoop-producer\build\libs\kafka-hadoop-producer-*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for release
|
|
|
|
for %%i in (%BASE_DIR%\libs\*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Classpath addition for core
|
|
|
|
for %%i in (%BASE_DIR%\core\build\libs\kafka_%SCALA_BINARY_VERSION%*.jar) do (
|
|
|
|
call :concat %%i
|
|
|
|
)
|
|
|
|
|
|
|
|
rem JMX settings
|
|
|
|
IF ["%KAFKA_JMX_OPTS%"] EQU [""] (
|
|
|
|
set KAFKA_JMX_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
|
|
|
|
)
|
|
|
|
|
|
|
|
rem JMX port to use
|
|
|
|
IF ["%JMX_PORT%"] NEQ [""] (
|
|
|
|
set KAFKA_JMX_OPTS=%KAFKA_JMX_OPTS% -Dcom.sun.management.jmxremote.port=%JMX_PORT%
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Log4j settings
|
|
|
|
IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] (
|
|
|
|
set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/config/tools-log4j.properties
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Generic jvm settings you want to add
|
|
|
|
IF ["%KAFKA_OPTS%"] EQU [""] (
|
|
|
|
set KAFKA_OPTS=
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Which java to use
|
|
|
|
IF ["%JAVA_HOME%"] EQU [""] (
|
|
|
|
set JAVA=java
|
|
|
|
) ELSE (
|
|
|
|
set JAVA="%JAVA_HOME%/bin/java"
|
|
|
|
)
|
|
|
|
|
|
|
|
rem Memory options
|
|
|
|
IF ["%KAFKA_HEAP_OPTS%"] EQU [""] (
|
|
|
|
set KAFKA_HEAP_OPTS=-Xmx256M
|
|
|
|
)
|
|
|
|
|
|
|
|
rem JVM performance options
|
|
|
|
IF ["%KAFKA_JVM_PERFORMANCE_OPTS%"] EQU [""] (
|
|
|
|
set KAFKA_JVM_PERFORMANCE_OPTS=-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExplicitGC -Djava.awt.headless=true
|
|
|
|
)
|
|
|
|
|
|
|
|
IF ["%CLASSPATH%"] EQU [""] (
|
|
|
|
echo Classpath is empty. Please build the project first e.g. by running 'gradlew jarAll'
|
|
|
|
EXIT /B 2
|
|
|
|
)
|
|
|
|
|
|
|
|
set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*
|
|
|
|
rem echo.
|
|
|
|
rem echo %COMMAND%
|
|
|
|
rem echo.
|
|
|
|
|
|
|
|
%COMMAND%
|
|
|
|
|
|
|
|
goto :eof
|
|
|
|
:concat
|
|
|
|
IF ["%CLASSPATH%"] EQU [""] (
|
|
|
|
set CLASSPATH="%1"
|
|
|
|
) ELSE (
|
|
|
|
set CLASSPATH=%CLASSPATH%;"%1"
|
|
|
|
)
|