blob: af5f7cb5ca291e935ca66078581ab5a327c96028 [file]
@echo off
@REM
@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.
@REM
setlocal
@REM set cmd format
powershell -NoProfile -Command "$v=(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentMajorVersionNumber; if($v -gt 6) { cmd /c 'chcp 65001' }"
title IoTDB Edge
echo ````````````````````````
echo Starting IoTDB Edge (ConfigNode + DataNode in one process)
echo ````````````````````````
@REM -----------------------------------------------------------------------------
@REM SET JAVA
if DEFINED JAVA_HOME set "PATH=%JAVA_HOME%\bin;%PATH%"
set "FULL_VERSION="
set "MAJOR_VERSION="
set "MINOR_VERSION="
for /f tokens^=2-5^ delims^=.-_+^" %%j in ('java -fullversion 2^>^&1') do (
set "FULL_VERSION=%%j-%%k-%%l-%%m"
IF "%%j" == "1" (
set "MAJOR_VERSION=%%k"
set "MINOR_VERSION=%%l"
) else (
set "MAJOR_VERSION=%%j"
set "MINOR_VERSION=%%k"
)
)
set JAVA_VERSION=%MAJOR_VERSION%
@REM IoTDB requires JDK 17 or later.
IF "%JAVA_VERSION%" == "" (
echo Failed to determine Java version. IoTDB only supports jdk ^>= 17, please check your java installation.
exit /b 1
)
IF %JAVA_VERSION% LSS 17 (
echo IoTDB only supports jdk ^>= 17, please check your java version.
exit /b 1
)
@REM -----------------------------------------------------------------------------
@REM SET DIRS
pushd "%~dp0..\.."
if NOT DEFINED IOTDB_HOME set "IOTDB_HOME=%cd%"
popd
if NOT DEFINED IOTDB_CONF set "IOTDB_CONF=%IOTDB_HOME%\conf"
set "IOTDB_LOG_DIR=%IOTDB_HOME%\logs"
if NOT EXIST "%IOTDB_LOG_DIR%" mkdir "%IOTDB_LOG_DIR%"
@REM Check both nodes' configured ports before starting the merged process.
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0check-edge.ps1" -ConfigFile "%IOTDB_CONF%\iotdb-system.properties"
if ERRORLEVEL 1 exit /b 1
@REM -----------------------------------------------------------------------------
@REM SET JVM OPTIONS
if EXIST "%IOTDB_CONF%\windows\edge-env.bat" (
call "%IOTDB_CONF%\windows\edge-env.bat"
) else (
echo Can't find %IOTDB_CONF%\windows\edge-env.bat
exit /b 1
)
set illegal_access_params=--add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED
set CLASSPATH=%IOTDB_HOME%\lib\*
set MAIN_CLASS=org.apache.iotdb.edge.EdgeNode
@REM CONFIGNODE_HOME must also point to the installation directory, otherwise the
@REM ConfigNode part resolves its data directories against the working directory.
set iotdb_parms=-Dlogback.configurationFile="%IOTDB_CONF%\logback-edge.xml"
set iotdb_parms=%iotdb_parms% -DIOTDB_HOME="%IOTDB_HOME%"
set iotdb_parms=%iotdb_parms% -DCONFIGNODE_HOME="%IOTDB_HOME%"
set iotdb_parms=%iotdb_parms% -DIOTDB_DATA_HOME="%IOTDB_HOME%"
set iotdb_parms=%iotdb_parms% -DTSFILE_HOME="%IOTDB_HOME%"
set iotdb_parms=%iotdb_parms% -DIOTDB_CONF="%IOTDB_CONF%"
set iotdb_parms=%iotdb_parms% -DCONFIGNODE_CONF="%IOTDB_CONF%"
set iotdb_parms=%iotdb_parms% -DTSFILE_CONF="%IOTDB_CONF%"
set iotdb_parms=%iotdb_parms% -Dname=iotdb.EdgeNode
set iotdb_parms=%iotdb_parms% -DIOTDB_LOG_DIR="%IOTDB_LOG_DIR%"
set iotdb_parms=%iotdb_parms% -DCONFIGNODE_LOG_DIR="%IOTDB_LOG_DIR%"
set iotdb_parms=%iotdb_parms% -DOFF_HEAP_MEMORY=%OFF_HEAP_MEMORY%
@REM -----------------------------------------------------------------------------
@REM START
java %illegal_access_params% %iotdb_parms% %IOTDB_JMX_OPTS% -cp "%CLASSPATH%" %MAIN_CLASS% -s
set "EDGE_EXIT_CODE=%ERRORLEVEL%"
pause
exit /b %EDGE_EXIT_CODE%