You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2019/11/16 11:43:32 UTC

[incubator-iotdb] 03/05: Fix start script (#533)

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch rel/0.9
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit b0ccc316429f0f95c20245384359396c34880a06
Author: SilverNarcissus <15...@smail.nju.edu.cn>
AuthorDate: Sat Nov 16 14:35:43 2019 +0800

    Fix start script (#533)
    
    * fix start script
    
    (cherry picked from commit d8415e9ab8954341f49291c025a8162274813b8f)
---
 .../src/assembly/resources/sbin/start-client.bat   |  3 ++
 client/src/assembly/resources/sbin/start-client.sh |  2 ++
 .../4-Client/1-Command Line Interface (CLI).md     |  5 ++-
 .../4-Client/1-Command Line Interface (CLI).md     |  6 ++--
 server/src/assembly/resources/conf/iotdb-env.sh    | 23 ++++++++++++--
 .../src/assembly/resources/sbin/start-server.bat   | 37 +++++++++++-----------
 server/src/assembly/resources/sbin/start-server.sh | 16 ----------
 7 files changed, 51 insertions(+), 41 deletions(-)

diff --git a/client/src/assembly/resources/sbin/start-client.bat b/client/src/assembly/resources/sbin/start-client.bat
index 24113a2..0ee4721 100755
--- a/client/src/assembly/resources/sbin/start-client.bat
+++ b/client/src/assembly/resources/sbin/start-client.bat
@@ -22,6 +22,9 @@ echo ````````````````````````
 echo Starting IoTDB Client
 echo ````````````````````````
 
+@REM You can put your env variable here
+@REM set JAVA_HOME=%JAVA_HOME%
+
 if "%OS%" == "Windows_NT" setlocal
 
 pushd %~dp0..
diff --git a/client/src/assembly/resources/sbin/start-client.sh b/client/src/assembly/resources/sbin/start-client.sh
index 4591159..48af8c2 100755
--- a/client/src/assembly/resources/sbin/start-client.sh
+++ b/client/src/assembly/resources/sbin/start-client.sh
@@ -18,6 +18,8 @@
 # under the License.
 #
 
+# You can put your env variable here
+# export JAVA_HOME=$JAVA_HOME
 
 if [ -z "${IOTDB_CLI_HOME}" ]; then
   export IOTDB_CLI_HOME="$(cd "`dirname "$0"`"/..; pwd)"
diff --git a/docs/Documentation-CHN/UserGuide/4-Client/1-Command Line Interface (CLI).md b/docs/Documentation-CHN/UserGuide/4-Client/1-Command Line Interface (CLI).md
index f4ef981..e1bcff3 100644
--- a/docs/Documentation-CHN/UserGuide/4-Client/1-Command Line Interface (CLI).md	
+++ b/docs/Documentation-CHN/UserGuide/4-Client/1-Command Line Interface (CLI).md	
@@ -44,7 +44,10 @@ IOTDB为用户提供Client/Shell工具用于启动客户端和服务端程序。
 在生成完毕之后,IoTDB的cli工具位于文件夹"client/target/iotdb-client-{project.version}"中。
 
 ## Cli  / Shell运行方式
-安装后的IoTDB中有一个默认用户:`root`,默认密码为`root`。用户可以使用该用户尝试运行IoTDB客户端以测试服务器是否正常启动。客户端启动脚本为$IOTDB_HOME/bin文件夹下的`start-client`脚本。启动脚本时需要指定运行IP和PORT。以下为服务器在本机启动,且用户未更改运行端口号的示例,默认端口为6667。若用户尝试连接远程服务器或更改了服务器运行的端口号,请在-h和-p项处使用服务器的IP和PORT。	
+安装后的IoTDB中有一个默认用户:`root`,默认密码为`root`。用户可以使用该用户尝试运行IoTDB客户端以测试服务器是否正常启动。客户端启动脚本为$IOTDB_HOME/bin文件夹下的`start-client`脚本。启动脚本时需要指定运行IP和PORT。以下为服务器在本机启动,且用户未更改运行端口号的示例,默认端口为6667。若用户尝试连接远程服务器或更改了服务器运行的端口号,请在-h和-p项处使用服务器的IP和PORT。</br>
+用户也可以在启动脚本的最前方设置自己的环境变量,如JAVA_HOME等 (对于linux用户,脚本路径为:"/sbin/start-client.sh"; 对于windows用户,脚本路径为:"/sbin/start-client.bat")
+
+
 
 Linux系统与MacOS系统启动命令如下:
 
diff --git a/docs/Documentation/UserGuide/4-Client/1-Command Line Interface (CLI).md b/docs/Documentation/UserGuide/4-Client/1-Command Line Interface (CLI).md
index d8b2a58..f306722 100644
--- a/docs/Documentation/UserGuide/4-Client/1-Command Line Interface (CLI).md	
+++ b/docs/Documentation/UserGuide/4-Client/1-Command Line Interface (CLI).md	
@@ -48,8 +48,10 @@ After installation, there is a default user in IoTDB: `root`, and the
 default password is `root`. Users can use this username to try IoTDB Cli/Shell tool. The client startup script is the `start-client` file under the \$IOTDB\_HOME/bin folder. When starting the script, you need to specify the IP and PORT. (Make sure the IoTDB server is running properly when you use Cli/Shell tool to connect it.)
 
 Here is an example where the server is started locally and the user has not changed the running port. The default port is
-6667. If you need to connect to the remote server or changes
-the port number of the server running, set the specific IP and PORT at -h and -p.
+6667 </br>
+If you need to connect to the remote server or changes
+the port number of the server running, set the specific IP and PORT at -h and -p.</br>
+You also can set your own environment variable at the front of the start script ("/sbin/start-client.sh" for linux and "/sbin/start-client.bat" for windows)
 
 The Linux and MacOS system startup commands are as follows:
 
diff --git a/server/src/assembly/resources/conf/iotdb-env.sh b/server/src/assembly/resources/conf/iotdb-env.sh
index 75f01fc..3d8e39b 100755
--- a/server/src/assembly/resources/conf/iotdb-env.sh
+++ b/server/src/assembly/resources/conf/iotdb-env.sh
@@ -18,6 +18,8 @@
 # under the License.
 #
 
+# You can put your env variable here
+# export JAVA_HOME=$JAVA_HOME
 
 calculate_heap_sizes()
 {
@@ -92,8 +94,25 @@ calculate_heap_sizes()
 }
 
 
+# find java in JAVA_HOME
+if [ -n "$JAVA_HOME" ]; then
+    for java in "$JAVA_HOME"/bin/amd64/java "$JAVA_HOME"/bin/java; do
+        if [ -x "$java" ]; then
+            JAVA="$java"
+            break
+        fi
+    done
+else
+    JAVA=java
+fi
+
+if [ -z $JAVA ] ; then
+    echo Unable to find java executable. Check JAVA_HOME and PATH environment variables.  > /dev/stderr
+    exit 1;
+fi
+
 # Determine the sort of JVM we'll be running on.
-java_ver_output=`"${JAVA:-java}" -version 2>&1`
+java_ver_output=`"$JAVA" -version 2>&1`
 jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 'NR==1 {print $2}' | cut -d\- -f1`
 JVM_VERSION=${jvmver%_*}
 JVM_PATCH_VERSION=${jvmver#*_}
@@ -145,5 +164,3 @@ IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xmx${MAX_HEAP_SIZE}"
 echo "Maximum memory allocation pool = ${MAX_HEAP_SIZE}B, initial memory allocation pool = ${HEAP_NEWSIZE}B"
 echo "If you want to change this configuration, please check conf/iotdb-env.sh(Unix or OS X, if you use Windows, check conf/iotdb-env.bat)."
 
-# You can put your env variable here
-# export JAVA_HOME=$JAVA_HOME
diff --git a/server/src/assembly/resources/sbin/start-server.bat b/server/src/assembly/resources/sbin/start-server.bat
index 05f15fb..534bdf2 100755
--- a/server/src/assembly/resources/sbin/start-server.bat
+++ b/server/src/assembly/resources/sbin/start-server.bat
@@ -27,8 +27,25 @@ set "FULL_VERSION="
 set "MAJOR_VERSION="
 set "MINOR_VERSION="
 
+if "%OS%" == "Windows_NT" setlocal
+
+pushd %~dp0..
+if NOT DEFINED IOTDB_HOME set IOTDB_HOME=%cd%
+popd
+
+set IOTDB_CONF=%IOTDB_HOME%\conf
+set IOTDB_LOGS=%IOTDB_HOME%\logs
+
+IF EXIST "%IOTDB_CONF%\iotdb-env.bat" (
+    CALL "%IOTDB_CONF%\iotdb-env.bat"
+    ) ELSE (
+    echo "can't find %IOTDB_CONF%\iotdb-env.bat"
+    )
 
-for /f tokens^=2-5^ delims^=.-_+^" %%j in ('java -fullversion 2^>^&1') do (
+if NOT DEFINED MAIN_CLASS set MAIN_CLASS=org.apache.iotdb.db.service.IoTDB
+if NOT DEFINED JAVA_HOME goto :err
+
+for /f tokens^=2-5^ delims^=.-_+^" %%j in ('%JAVA_HOME%\bin\java -fullversion 2^>^&1') do (
 	set "FULL_VERSION=%%j-%%k-%%l-%%m"
 	IF "%%j" == "1" (
 	    set "MAJOR_VERSION=%%k"
@@ -48,24 +65,6 @@ IF NOT %JAVA_VERSION% == 8 (
 	)
 )
 
-if "%OS%" == "Windows_NT" setlocal
-
-pushd %~dp0..
-if NOT DEFINED IOTDB_HOME set IOTDB_HOME=%cd%
-popd
-
-set IOTDB_CONF=%IOTDB_HOME%\conf
-set IOTDB_LOGS=%IOTDB_HOME%\logs
-
-IF EXIST "%IOTDB_CONF%\iotdb-env.bat" (
-    CALL "%IOTDB_CONF%\iotdb-env.bat"
-    ) ELSE (
-    echo "can't find %IOTDB_CONF%\iotdb-env.bat"
-    )
-
-if NOT DEFINED MAIN_CLASS set MAIN_CLASS=org.apache.iotdb.db.service.IoTDB
-if NOT DEFINED JAVA_HOME goto :err
-
 @REM -----------------------------------------------------------------------------
 @REM JVM Opts we'll use in legacy run or installation
 set JAVA_OPTS=-ea^
diff --git a/server/src/assembly/resources/sbin/start-server.sh b/server/src/assembly/resources/sbin/start-server.sh
index e9e46ad..ed5e826 100755
--- a/server/src/assembly/resources/sbin/start-server.sh
+++ b/server/src/assembly/resources/sbin/start-server.sh
@@ -36,22 +36,6 @@ else
     echo "can't find $IOTDB_CONF/iotdb-env.sh"
 fi
 
-if [ -n "$JAVA_HOME" ]; then
-    for java in "$JAVA_HOME"/bin/amd64/java "$JAVA_HOME"/bin/java; do
-        if [ -x "$java" ]; then
-            JAVA="$java"
-            break
-        fi
-    done
-else
-    JAVA=java
-fi
-
-if [ -z $JAVA ] ; then
-    echo Unable to find java executable. Check JAVA_HOME and PATH environment variables.  > /dev/stderr
-    exit 1;
-fi
-
 CLASSPATH=""
 for f in ${IOTDB_HOME}/lib/*.jar; do
   CLASSPATH=${CLASSPATH}":"$f