logs filename add instance
diff --git a/iotdb-core/confignode/src/assembly/resources/conf/logback-confignode.xml b/iotdb-core/confignode/src/assembly/resources/conf/logback-confignode.xml
index 0322b49..cefa05a 100644
--- a/iotdb-core/confignode/src/assembly/resources/conf/logback-confignode.xml
+++ b/iotdb-core/confignode/src/assembly/resources/conf/logback-confignode.xml
@@ -24,9 +24,9 @@
     <!-- prevent logback from outputting its own status at the start of every log -->
     <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEERROR">
-        <file>${CONFIGNODE_HOME}/logs/log_confignode_error.log</file>
+        <file>${CONFIGNODE_HOME}/logs/log_confignode_${CONFIGNODE_INSTANCE}_error.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-error-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-${CONFIGNODE_INSTANCE}-error-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -41,9 +41,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEWARN">
-        <file>${CONFIGNODE_HOME}/logs/log_confignode_warn.log</file>
+        <file>${CONFIGNODE_HOME}/logs/log_confignode_${CONFIGNODE_INSTANCE}_warn.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-warn-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-${CONFIGNODE_INSTANCE}-warn-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -58,9 +58,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEDEBUG">
-        <file>${CONFIGNODE_HOME}/logs/log_confignode_debug.log</file>
+        <file>${CONFIGNODE_HOME}/logs/log_confignode_${CONFIGNODE_INSTANCE}_debug.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-debug-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-${CONFIGNODE_INSTANCE}-debug-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -86,9 +86,9 @@
     </appender>
     <!-- a log appender that collect all log records whose level is greater than debug-->
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEALL">
-        <file>${CONFIGNODE_HOME}/logs/log_confignode_all.log</file>
+        <file>${CONFIGNODE_HOME}/logs/log_confignode_${CONFIGNODE_INSTANCE}_all.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-all-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${CONFIGNODE_HOME}/logs/log-confignode-${CONFIGNODE_INSTANCE}-all-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
diff --git a/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat b/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat
index 98399a9..27e0050 100644
--- a/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat
+++ b/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat
@@ -105,12 +105,19 @@
     "%CONFIG_FILE%"') do (
       set cn_consensus_port=%%i
   )
+  for /f  "eol=# tokens=2 delims==" %%i in ('findstr /i "^cn_internal_address"
+      "%CONFIG_FILE%"') do (
+        set cn_internal_address=%%i
+    )
 ) ELSE (
   echo "Can't find iotdb-system.properties or iotdb-confignode.properties, check the default ports"
   set cn_internal_port=10710
   set cn_consensus_port=10720
+  set cn_internal_address="127.0.0.1"
 )
 
+set CONFIGNODE_INSTANCE="%cn_internal_address%-%cn_internal_port%"
+
 echo Check whether the ports are occupied....
 set occupied=0
 set cn_internal_port_occupied=0
@@ -149,6 +156,7 @@
  -Dlogback.configurationFile="%CONFIGNODE_CONF%\logback-confignode.xml"^
  -DCONFIGNODE_HOME="%CONFIGNODE_HOME%"^
  -DCONFIGNODE_CONF="%CONFIGNODE_CONF%"^
+ -DCONFIGNODE_INSTANCE="%CONFIGNODE_INSTANCE%"^
  -Dsun.jnu.encoding=UTF-8^
  -Dfile.encoding=UTF-8
 
diff --git a/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.sh b/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.sh
index 1308105..7738b46 100644
--- a/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.sh
+++ b/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.sh
@@ -137,7 +137,8 @@
   	iotdb_parms="$iotdb_parms -DCONFIGNODE_CONF=${CONFIGNODE_CONF}"
   	iotdb_parms="$iotdb_parms -DTSFILE_CONF=${CONFIGNODE_CONF}"
   	iotdb_parms="$iotdb_parms -Dname=iotdb\.ConfigNode"
-  	iotdb_parms="$iotdb_parms -DCONFIGNODE_LOGS=${CONFIGNODE_LOGS}"
+  	iotdb_parms="$iotdb_parms -DCONFIGNODE_LOGS=${CONFIGNODE_LOG_DIR}"
+  	iotdb_parms="$iotdb_parms -DCONFIGNODE_INSTANCE=${CONFIGNODE_INSTANCE}"
 
   	  if [ "x$pidfile" != "x" ]; then
          iotdb_parms="$iotdb_parms -Diotdb-pidfile=$pidfile"
diff --git a/iotdb-core/datanode/src/assembly/resources/conf/logback-datanode.xml b/iotdb-core/datanode/src/assembly/resources/conf/logback-datanode.xml
index 8902599..03a1e38 100644
--- a/iotdb-core/datanode/src/assembly/resources/conf/logback-datanode.xml
+++ b/iotdb-core/datanode/src/assembly/resources/conf/logback-datanode.xml
@@ -24,9 +24,9 @@
     <!-- prevent logback from outputting its own status at the start of every log -->
     <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEERROR">
-        <file>${IOTDB_HOME}/logs/log_datanode_error.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_error.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-error-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-error-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -41,9 +41,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEWARN">
-        <file>${IOTDB_HOME}/logs/log_datanode_warn.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_warn.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-warn-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-warn-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -58,9 +58,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEDEBUG">
-        <file>${IOTDB_HOME}/logs/log_datanode_debug.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_debug.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-debug-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-debug-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -75,9 +75,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILETRACE">
-        <file>${IOTDB_HOME}/logs/log_datanode_trace.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_trace.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-trace-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-trace-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -103,9 +103,9 @@
     </appender>
     <!-- a log appender that collect all log records whose level is greater than debug-->
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILEALL">
-        <file>${IOTDB_HOME}/logs/log_datanode_all.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_all.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-all-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-all-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -118,9 +118,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILE_COST_MEASURE">
-        <file>${IOTDB_HOME}/logs/log_datanode_measure.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_measure.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-measure-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-measure-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -133,9 +133,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT">
-        <file>${IOTDB_HOME}/logs/log_datanode_audit.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_audit.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-audit-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-audit-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -148,9 +148,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="QUERY_DEBUG">
-        <file>${IOTDB_HOME}/logs/log_datanode_query_debug.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_query_debug.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-query-debug-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-query-debug-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -163,9 +163,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="SLOW_SQL">
-        <file>${IOTDB_HOME}/logs/log_datanode_slow_sql.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_slow_sql.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-slow-sql-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-slow-sql-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -178,9 +178,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="SAMPLED_QUERIES">
-        <file>${IOTDB_HOME}/logs/log_datanode_sampled_queries.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_sampled_queries.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-sampled-queries-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-sampled-queries-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -193,9 +193,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="COMPACTION">
-        <file>${IOTDB_HOME}/logs/log_datanode_compaction.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_compaction.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-compaction-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-compaction-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -208,9 +208,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="PIPE">
-        <file>${IOTDB_HOME}/logs/log_datanode_pipe.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_pipe.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-pipe-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-pipe-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
@@ -223,9 +223,9 @@
         </filter>
     </appender>
     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EXPLAIN_ANALYZE">
-        <file>${IOTDB_HOME}/logs/log_explain_analyze.log</file>
+        <file>${IOTDB_HOME}/logs/log_datanode_${DATANODE_INSTANCE}_explain_analyze.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-explain-%d{yyyyMMdd}.log.gz</fileNamePattern>
+            <fileNamePattern>${IOTDB_HOME}/logs/log-datanode-${DATANODE_INSTANCE}-explain-%d{yyyyMMdd}.log.gz</fileNamePattern>
             <maxHistory>30</maxHistory>
         </rollingPolicy>
         <append>true</append>
diff --git a/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat b/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat
index fcbce7e..73747f3 100755
--- a/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat
+++ b/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat
@@ -137,6 +137,10 @@
     "%CONFIG_FILE%"') do (
       set dn_data_region_consensus_port=%%i
   )
+  for /f  "eol=# tokens=2 delims==" %%i in ('findstr /i "^dn_internal_address"
+      "%CONFIG_FILE%"') do (
+        set dn_internal_address=%%i
+    )
 ) ELSE (
   echo "Can't find iotdb-system.properties or iotdb-datanode.properties, check the default ports"
   set dn_rpc_port=6667
@@ -144,8 +148,11 @@
   set dn_mpp_data_exchange_port=10740
   set dn_schema_region_consensus_port=10750
   set dn_data_region_consensus_port=10760
+  set dn_internal_address="127.0.0.1"
 )
 
+set DATANODE_INSTANCE="%dn_internal_address%-%dn_internal_port%"
+
 echo Check whether the ports are occupied....
 set occupied=0
 set dn_rpc_port_occupied=0
@@ -207,6 +214,7 @@
  -DTSFILE_HOME="%IOTDB_HOME%"^
  -DTSFILE_CONF="%IOTDB_CONF%"^
  -DIOTDB_CONF="%IOTDB_CONF%"^
+ -DDATANODE_INSTANCE="%DATANODE_INSTANCE%"^
  -DOFF_HEAP_MEMORY="%OFF_HEAP_MEMORY%"^
  -Dsun.jnu.encoding=UTF-8^
  -Dfile.encoding=UTF-8
diff --git a/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.sh b/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.sh
index 351f6de..3c79fdb 100755
--- a/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.sh
+++ b/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.sh
@@ -164,6 +164,7 @@
 	iotdb_parms="$iotdb_parms -Dname=iotdb\.IoTDB"
 	iotdb_parms="$iotdb_parms -DIOTDB_LOG_DIR=${IOTDB_LOG_DIR}"
 	iotdb_parms="$iotdb_parms -DOFF_HEAP_MEMORY=${OFF_HEAP_MEMORY}"
+	iotdb_parms="$iotdb_parms -DDATANODE_INSTANCE=${DATANODE_INSTANCE}"
 
 	  if [ "x$pidfile" != "x" ]; then
        iotdb_parms="$iotdb_parms -Diotdb-pidfile=$pidfile"
diff --git a/iotdb-core/node-commons/src/assembly/resources/sbin/iotdb-common.sh b/iotdb-core/node-commons/src/assembly/resources/sbin/iotdb-common.sh
index 0236fef..6eb6ffc 100755
--- a/iotdb-core/node-commons/src/assembly/resources/sbin/iotdb-common.sh
+++ b/iotdb-core/node-commons/src/assembly/resources/sbin/iotdb-common.sh
@@ -174,24 +174,28 @@
       dn_mpp_data_exchange_port=$(sed '/^dn_mpp_data_exchange_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-system.properties)
       dn_schema_region_consensus_port=$(sed '/^dn_schema_region_consensus_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-system.properties)
       dn_data_region_consensus_port=$(sed '/^dn_data_region_consensus_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-system.properties)
+      dn_internal_address=$(sed '/^dn_internal_address=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-system.properties)
   elif [ -f "$IOTDB_HOME/conf/iotdb-system.properties" ]; then
       dn_rpc_port=$(sed '/^dn_rpc_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-system.properties)
       dn_internal_port=$(sed '/^dn_internal_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-system.properties)
       dn_mpp_data_exchange_port=$(sed '/^dn_mpp_data_exchange_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-system.properties)
       dn_schema_region_consensus_port=$(sed '/^dn_schema_region_consensus_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-system.properties)
       dn_data_region_consensus_port=$(sed '/^dn_data_region_consensus_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-system.properties)
+      dn_internal_address=$(sed '/^dn_internal_address=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-system.properties)
   elif [ -f "$IOTDB_CONF/iotdb-datanode.properties" ]; then
     dn_rpc_port=$(sed '/^dn_rpc_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
     dn_internal_port=$(sed '/^dn_internal_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
     dn_mpp_data_exchange_port=$(sed '/^dn_mpp_data_exchange_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
     dn_schema_region_consensus_port=$(sed '/^dn_schema_region_consensus_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
     dn_data_region_consensus_port=$(sed '/^dn_data_region_consensus_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
+    dn_internal_address=$(sed '/^dn_internal_address=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
   elif [ -f "$IOTDB_HOME/conf/iotdb-datanode.properties" ]; then
     dn_rpc_port=$(sed '/^dn_rpc_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-datanode.properties)
     dn_internal_port=$(sed '/^dn_internal_port=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-datanode.properties)
     dn_mpp_data_exchange_port=$(sed '/^dn_mpp_data_exchange_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
     dn_schema_region_consensus_port=$(sed '/^dn_schema_region_consensus_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
     dn_data_region_consensus_port=$(sed '/^dn_data_region_consensus_port=/!d;s/.*=//' "${IOTDB_CONF}"/iotdb-datanode.properties)
+    dn_internal_address=$(sed '/^dn_internal_address=/!d;s/.*=//' "${IOTDB_HOME}"/conf/iotdb-datanode.properties)
   else
     echo "Warning: cannot find iotdb-system.properties or iotdb-datanode.properties, check the default configuration"
   fi
@@ -207,6 +211,10 @@
   dn_mpp_data_exchange_port=${dn_mpp_data_exchange_port:-10740}
   dn_schema_region_consensus_port=${dn_schema_region_consensus_port:-10750}
   dn_data_region_consensus_port=${dn_data_region_consensus_port:-10760}
+  dn_internal_address=${dn_internal_address:-"127.0.0.1"}
+
+  export DATANODE_INSTANCE="${dn_internal_address}-${dn_internal_port}"
+
   if type lsof >/dev/null 2>&1; then
     PID=$(lsof -t -i:"${dn_rpc_port}" -sTCP:LISTEN)
     if [ -n "$PID" ]; then
@@ -278,15 +286,19 @@
   if [ -f "$CONFIGNODE_CONF/iotdb-system.properties" ]; then
     cn_internal_port=$(sed '/^cn_internal_port=/!d;s/.*=//' "${CONFIGNODE_CONF}"/iotdb-system.properties)
     cn_consensus_port=$(sed '/^cn_consensus_port=/!d;s/.*=//' "${CONFIGNODE_CONF}"/iotdb-system.properties)
+    cn_internal_address=$(sed '/^cn_internal_address=/!d;s/.*=//' "${CONFIGNODE_CONF}"/iotdb-system.properties)
   elif [ -f "$CONFIGNODE_HOME/conf/iotdb-system.properties" ]; then
     cn_internal_port=$(sed '/^cn_internal_port=/!d;s/.*=//' "${CONFIGNODE_HOME}"/conf/iotdb-system.properties)
     cn_consensus_port=$(sed '/^cn_consensus_port=/!d;s/.*=//' "${CONFIGNODE_HOME}"/conf/iotdb-system.properties)
+    cn_internal_address=$(sed '/^cn_internal_address=/!d;s/.*=//' "${CONFIGNODE_HOME}"/conf/iotdb-system.properties)
   elif [ -f "$CONFIGNODE_CONF/iotdb-confignode.properties" ]; then
     cn_internal_port=$(sed '/^cn_internal_port=/!d;s/.*=//' "${CONFIGNODE_CONF}"/iotdb-confignode.properties)
     cn_consensus_port=$(sed '/^cn_consensus_port=/!d;s/.*=//' "${CONFIGNODE_CONF}"/iotdb-confignode.properties)
+    cn_internal_address=$(sed '/^cn_internal_address=/!d;s/.*=//' "${CONFIGNODE_CONF}"/iotdb-confignode.properties)
   elif [ -f "$CONFIGNODE_HOME/conf/iotdb-confignode.properties" ]; then
     cn_internal_port=$(sed '/^cn_internal_port=/!d;s/.*=//' "${CONFIGNODE_HOME}"/conf/iotdb-confignode.properties)
     cn_consensus_port=$(sed '/^cn_consensus_port=/!d;s/.*=//' "${CONFIGNODE_HOME}"/conf/iotdb-confignode.properties)
+    cn_internal_address=$(sed '/^cn_internal_address=/!d;s/.*=//' "${CONFIGNODE_HOME}"/conf/iotdb-confignode.properties)
   else
     echo "Cannot find iotdb-system.properties or iotdb-confignode.properties, check the default configuration"
   fi
@@ -296,6 +308,10 @@
 
   cn_internal_port=${cn_internal_port:-10710}
   cn_consensus_port=${cn_consensus_port:-10720}
+  cn_internal_address=${cn_internal_address:-"127.0.0.1"}
+
+  export CONFIGNODE_INSTANCE="${cn_internal_address}-${cn_internal_port}"
+
   if type lsof >/dev/null 2>&1; then
     PID=$(lsof -t -i:"${cn_internal_port}" -sTCP:LISTEN)
     if [ -n "$PID" ]; then