You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/04/03 08:56:16 UTC

[iotdb] branch rel/0.13 updated: feat(docs):site img move to alioss (#9511)

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

haonan pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.13 by this push:
     new 151fbff790 feat(docs):site img move to alioss (#9511)
151fbff790 is described below

commit 151fbff790b0b7d90b34dd4ad53ede8efaa22741
Author: CritasWang <cr...@outlook.com>
AuthorDate: Mon Apr 3 16:56:09 2023 +0800

    feat(docs):site img move to alioss (#9511)
---
 docs/UserGuide/API/Programming-MQTT.md             |  4 ++--
 .../Data-Concept/Data-Model-and-Terminology.md     |  4 ++--
 docs/UserGuide/Data-Concept/Schema-Template.md     |  6 +++---
 docs/UserGuide/Data-Concept/Time-Partition.md      |  2 +-
 docs/UserGuide/Ecosystem-Integration/DBeaver.md    | 16 +++++++--------
 .../Ecosystem-Integration/Grafana-Connector.md     |  6 +++---
 .../Ecosystem-Integration/Grafana-Plugin.md        | 24 +++++++++++-----------
 .../UserGuide/Ecosystem-Integration/Spark-IoTDB.md |  2 +-
 .../Ecosystem-Integration/Spark-TsFile.md          |  4 ++--
 .../Ecosystem-Integration/Writing-Data-on-HDFS.md  |  2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |  8 ++++----
 docs/UserGuide/IoTDB-Introduction/Architecture.md  |  2 +-
 docs/UserGuide/IoTDB-Introduction/Scenario.md      | 14 ++++++-------
 docs/UserGuide/Maintenance-Tools/JMX-Tool.md       |  4 ++--
 docs/UserGuide/Maintenance-Tools/Log-Tool.md       |  6 +++---
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    | 10 ++++-----
 .../Operate-Metadata/Auto-Create-MetaData.md       |  2 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |  2 +-
 docs/UserGuide/Process-Data/Alerting.md            |  2 +-
 .../Process-Data/UDF-User-Defined-Function.md      |  2 +-
 docs/UserGuide/Query-Data/Aggregate-Query.md       |  2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md | 24 +++++++++++-----------
 docs/UserGuide/Reference/TSDB-Comparison.md        | 16 +++++++--------
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         | 10 ++++-----
 docs/zh/UserGuide/API/Programming-MQTT.md          |  4 ++--
 .../Data-Concept/Data-Model-and-Terminology.md     |  4 ++--
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |  6 +++---
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |  2 +-
 docs/zh/UserGuide/Ecosystem-Integration/DBeaver.md | 16 +++++++--------
 .../Ecosystem-Integration/Grafana-Connector.md     |  6 +++---
 .../Ecosystem-Integration/Grafana-Plugin.md        | 24 +++++++++++-----------
 .../Ecosystem-Integration/Writing-Data-on-HDFS.md  |  2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |  8 ++++----
 .../UserGuide/IoTDB-Introduction/Architecture.md   |  2 +-
 docs/zh/UserGuide/IoTDB-Introduction/Scenario.md   | 14 ++++++-------
 docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md    |  4 ++--
 docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md    |  6 +++---
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md | 10 ++++-----
 .../Operate-Metadata/Auto-Create-MetaData.md       |  2 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |  2 +-
 docs/zh/UserGuide/Process-Data/Alerting.md         |  2 +-
 .../Process-Data/UDF-User-Defined-Function.md      |  2 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |  2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md | 24 +++++++++++-----------
 docs/zh/UserGuide/Reference/TSDB-Comparison.md     | 14 ++++++-------
 45 files changed, 165 insertions(+), 165 deletions(-)

diff --git a/docs/UserGuide/API/Programming-MQTT.md b/docs/UserGuide/API/Programming-MQTT.md
index 4858d68e57..e0762d65ba 100644
--- a/docs/UserGuide/API/Programming-MQTT.md
+++ b/docs/UserGuide/API/Programming-MQTT.md
@@ -27,7 +27,7 @@ It is useful for connections with remote locations where a small code footprint
 IoTDB supports the MQTT v3.1(an OASIS Standard) protocol.
 IoTDB server includes a built-in MQTT service that allows remote devices send messages into IoTDB server directly.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/78357432-0c71cf80-75e4-11ea-98aa-c43a54d469ce.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/78357432-0c71cf80-75e4-11ea-98aa-c43a54d469ce.png">
 
 
 ### Built-in MQTT Service
@@ -55,7 +55,7 @@ or
   }
 ```
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/78357469-1bf11880-75e4-11ea-978f-a53996667a0d.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/78357469-1bf11880-75e4-11ea-978f-a53996667a0d.png">
 
 ### MQTT Configurations
 The IoTDB MQTT service load configurations from `${IOTDB_HOME}/${IOTDB_CONF}/iotdb-engine.properties` by default.
diff --git a/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md b/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md
index c5c159756a..fd093eefb0 100644
--- a/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md
+++ b/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md
@@ -25,7 +25,7 @@ A wind power IoT scenario is taken as an example to illustrate how to creat a co
 
 According to the enterprise organization structure and equipment entity hierarchy, it is expressed as an attribute hierarchy structure, as shown below. The hierarchical from top to bottom is: power group layer - power plant layer - entity layer - measurement layer. ROOT is the root node, and each node of measurement layer is a leaf node. In the process of using IoTDB, the attributes on the path from ROOT node is directly connected to each leaf node with ".", thus forming the name of a ti [...]
 
-<center><img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/122668849-b1c69280-d1ec-11eb-83cb-3b73c40bdf72.png"></center>
+<center><img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/122668849-b1c69280-d1ec-11eb-83cb-3b73c40bdf72.png"></center>
 
 Here are the basic concepts of the model involved in IoTDB. 
 
@@ -139,7 +139,7 @@ When querying, you can query each timeseries separately.
 
 When inserting data, it is allowed to insert null value in the aligned timeseries.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/114125919-f4850800-9929-11eb-8211-81d4c04af1ec.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/114125919-f4850800-9929-11eb-8211-81d4c04af1ec.png">
 
 In the following chapters of data definition language, data operation language and Java Native Interface, various operations related to aligned timeseries will be introduced one by one.
 
diff --git a/docs/UserGuide/Data-Concept/Schema-Template.md b/docs/UserGuide/Data-Concept/Schema-Template.md
index d489cbeaa1..a669ea3a9e 100644
--- a/docs/UserGuide/Data-Concept/Schema-Template.md
+++ b/docs/UserGuide/Data-Concept/Schema-Template.md
@@ -29,7 +29,7 @@ In order to enable different entities of the same type to share metadata, reduce
 
 The following picture illustrates the data model of petrol vehicle scenario. The velocity, fuel amount, acceleration, and angular velocity of each petrol vehicle spread over cities will be collected. Obviously, the measurements of single petrol vehicle are the same as those of another.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Measurement-Template/example_without_template.png?raw=true" alt="example without template">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Measurement-Template/example_without_template.png?raw=true" alt="example without template">
 
 ## Concepts
 
@@ -47,7 +47,7 @@ In the following chapters of data definition language, data operation language a
 
 After applying schema template, the following picture illustrates the new data model of petrol vehicle scenario. All petrol vehicles share the schemas defined in template. There are no redundancy storage of measurement schemas.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Measurement-Template/example_with_template.png?raw=true" alt="example with template">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Measurement-Template/example_with_template.png?raw=true" alt="example with template">
 
 ### Lifetime of Schema Template
 
@@ -62,7 +62,7 @@ The term about lifetime of schema template may help you utilize it in a better w
 
 It should be complemented that the distinction between SET and ACTIVATE is meant to serve an ubiquitous scenario where massive nodes with a common ancestor may need to apply the template. Under this circumstance, it is more feasible to SET the template on the common ancestor rather than all those descendant.    For those who needs to apply the template, ACTIVATE is a more appropriate arrangement.
 
-<img style="width:100%; max-width:800px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Measurement-Template/example_template_lifetime.png?raw=true" alt="example with template">
+<img style="width:100%; max-width:800px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Measurement-Template/example_template_lifetime.png?raw=true" alt="example with template">
 
 ## Usage
 
diff --git a/docs/UserGuide/Data-Concept/Time-Partition.md b/docs/UserGuide/Data-Concept/Time-Partition.md
index 337dc51c30..2796d98f13 100644
--- a/docs/UserGuide/Data-Concept/Time-Partition.md
+++ b/docs/UserGuide/Data-Concept/Time-Partition.md
@@ -49,7 +49,7 @@ Notice: Currently, it's not recommend to open this function. If open, please cal
 
 Enable time partition and set partition_interval to 86400 (one day), then the data distribution is shown as the following figure:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Time-Partition/time_partition_example.png?raw=true" alt="time partition example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Time-Partition/time_partition_example.png?raw=true" alt="time partition example">
 
 * Insert one datapoint with timestamp 0, calculate 0/86400 = 0, then this datapoint will be stored in TsFile under folder 0
 
diff --git a/docs/UserGuide/Ecosystem-Integration/DBeaver.md b/docs/UserGuide/Ecosystem-Integration/DBeaver.md
index c222105717..f7a716675b 100644
--- a/docs/UserGuide/Ecosystem-Integration/DBeaver.md
+++ b/docs/UserGuide/Ecosystem-Integration/DBeaver.md
@@ -45,11 +45,11 @@ DBeaver is a SQL client software application and a database administration tool.
 2. Start DBeaver
 3. Open Driver Manager
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/01.png?raw=true)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/01.png?raw=true)
 
 4. Create a new driver type for IoTDB
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/02.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/02.png)
 
 5. Download [Sources](https://iotdb.apache.org/Download/),unzip it and compile jdbc driver by the following command
 
@@ -58,15 +58,15 @@ DBeaver is a SQL client software application and a database administration tool.
    ```
 6. Find and add a lib named `apache-iotdb-jdbc-{version}-jar-with-dependencies.jar`, which should be under `jdbc/target/`, then select `Find Class`.
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/03.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/03.png)
 
 8. Edit the driver Settings
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/05.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/05.png)
 
 9. Open New DataBase Connection and select iotdb
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/06.png) 
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/06.png) 
 
 10. Edit JDBC Connection Settings
 
@@ -75,12 +75,12 @@ DBeaver is a SQL client software application and a database administration tool.
    Username: root
    Password: root
    ```
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/07.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/07.png)
 
 11. Test Connection
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/08.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/08.png)
 
 12. Enjoy IoTDB with DBeaver
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/09.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/09.png)
diff --git a/docs/UserGuide/Ecosystem-Integration/Grafana-Connector.md b/docs/UserGuide/Ecosystem-Integration/Grafana-Connector.md
index 72d26ca401..6e35dd6ec2 100644
--- a/docs/UserGuide/Ecosystem-Integration/Grafana-Connector.md
+++ b/docs/UserGuide/Ecosystem-Integration/Grafana-Connector.md
@@ -128,15 +128,15 @@ Username and password are both "admin" by default.
 
 Select `Data Sources` and  then `Add data source`, select `SimpleJson` in `Type` and `URL` is http://localhost:8888. 
 After that, make sure IoTDB has been started, click "Save & Test", and "Data Source is working" will be shown to indicate successful configuration.
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51664777-2766ae00-1ff5-11e9-9d2f-7489f8ccbfc2.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51664777-2766ae00-1ff5-11e9-9d2f-7489f8ccbfc2.png">
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51664842-554bf280-1ff5-11e9-97d2-54eebe0b2ca1.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51664842-554bf280-1ff5-11e9-97d2-54eebe0b2ca1.png">
 
 #### Design in dashboard
 
 Add diagrams in dashboard and customize your query. See http://docs.grafana.org/guides/getting_started/
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51664878-6e54a380-1ff5-11e9-9718-4d0e24627fa8.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51664878-6e54a380-1ff5-11e9-9718-4d0e24627fa8.png">
 
 ### config grafana
 
diff --git a/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md b/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
index 2aa7405195..1936518fcc 100644
--- a/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
+++ b/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
@@ -67,7 +67,7 @@ yarn build
 
 If compiling successful, you can see the `dist` directory , which contains the compiled Grafana-Plugin:
 
-<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana-plugin-build.png?raw=true">
+<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana-plugin-build.png?raw=true">
 
 ##### Compile Method 2
 
@@ -81,7 +81,7 @@ Execute following command in the IoTDB root directory:
 
 If compiling successful, you can see that the `distribution/target` directory contains the compiled Grafana-Plugin:
 
-<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/distribution.png?raw=true">
+<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/distribution.png?raw=true">
 
 
 #### Install Grafana-Plugin
@@ -156,9 +156,9 @@ Grafana displays data in a web page dashboard. Please open your browser and visi
 
 Click the `Settings` icon on the left, select the `Data Source` option, and then click `Add data source`.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_1.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_1.png?raw=true">
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_2.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_2.png?raw=true">
 
 Select the `Apache IoTDB` data source.
 
@@ -169,24 +169,24 @@ Select the `Apache IoTDB` data source.
 
 Click `Save & Test`, and `Success` will appear.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_3.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_3.png?raw=true">
 
 
 #### Create a new Panel
 
 Click the `Dashboards` icon on the left, and select `Manage` option.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/manage.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/manage.png?raw=true">
 
 Click the `New Dashboard` icon on the top right, and select `Add an empty panel` option.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/add-empty-panel.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/add-empty-panel.png?raw=true">
 
 Enter content in the SELECT, FROM , WHERE and CONTROL input box, where the WHERE and CONTROL input boxes are optional.
 
 If a query involves multiple expressions, we can click `+` on the right side of the SELECT input box to add expressions in the SELECT clause, or click `+` on the right side of the FROM input box to add a path prefix:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana_input.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana_input.png?raw=true">
 
 SELECT input box: contents can be the time series suffix, function, udf, arithmetic expression, or nested expressions. You can also use the as clause to rename the result.
 
@@ -222,19 +222,19 @@ This plugin supports Grafana's variables and templates (https://grafana.com/docs
 
 After creating a new Panel, click the Settings button in the upper right corner:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/setconf.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/setconf.png?raw=true">
 
 Select `Variables`, click `Add variable`:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/addvaribles.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/addvaribles.png?raw=true">
 
 Enter `Name`, `Label`, and `Query`, and then click the `Update` button:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/variblesinput.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/variblesinput.png?raw=true">
 
 Apply Variables, enter the variable in the `grafana panel` and click the `save` button:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/applyvariables.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/applyvariables.png?raw=true">
 
 
 ### More Details about Grafana
diff --git a/docs/UserGuide/Ecosystem-Integration/Spark-IoTDB.md b/docs/UserGuide/Ecosystem-Integration/Spark-IoTDB.md
index c878559c40..86ab673d17 100644
--- a/docs/UserGuide/Ecosystem-Integration/Spark-IoTDB.md
+++ b/docs/UserGuide/Ecosystem-Integration/Spark-IoTDB.md
@@ -93,7 +93,7 @@ Take the following TsFile structure as an example: There are three Measurements
 
 The existing data in the TsFile is as follows:
 
-<img width="517" alt="SI " src="/img/github/98197835-99a64980-1f62-11eb-84af-8301b8a6aad5.png">
+<img width="517" alt="SI " src="https://alioss.timecho.com/docs/img/github/98197835-99a64980-1f62-11eb-84af-8301b8a6aad5.png">
 
 The wide(default) table form is as follows:
 
diff --git a/docs/UserGuide/Ecosystem-Integration/Spark-TsFile.md b/docs/UserGuide/Ecosystem-Integration/Spark-TsFile.md
index f5232314f5..ee054fc6d9 100644
--- a/docs/UserGuide/Ecosystem-Integration/Spark-TsFile.md
+++ b/docs/UserGuide/Ecosystem-Integration/Spark-TsFile.md
@@ -94,7 +94,7 @@ The way to display TsFile is dependent on the schema. Take the following TsFile
 
 The existing data in the TsFile are:
 
-<img width="519" alt="ST 1" src="/img/github/98197920-be9abc80-1f62-11eb-9efb-027f0590031c.png">
+<img width="519" alt="ST 1" src="https://alioss.timecho.com/docs/img/github/98197920-be9abc80-1f62-11eb-9efb-027f0590031c.png">
 
 The corresponding SparkSQL table is:
 
@@ -239,7 +239,7 @@ The way to display TsFile is related to TsFile Schema. Take the following TsFile
 
 The existing data in the file are:
 
-<img width="817" alt="ST 2" src="/img/github/98197948-cf4b3280-1f62-11eb-9c8c-c97d1adf032c.png">
+<img width="817" alt="ST 2" src="https://alioss.timecho.com/docs/img/github/98197948-cf4b3280-1f62-11eb-9c8c-c97d1adf032c.png">
 
 A set of time-series data
 
diff --git a/docs/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md b/docs/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md
index 33d9f18fab..db3980d48d 100644
--- a/docs/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md
+++ b/docs/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md
@@ -29,7 +29,7 @@ Currently, TsFiles(including both TsFile and related data files) are supported t
 
 When you config to store TSFile on HDFS, your data files will be in distributed storage. The system architecture is as below:
 
-<img style="width:100%; max-width:700px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/66922722-35180400-f05a-11e9-8ff0-7dd51716e4a8.png">
+<img style="width:100%; max-width:700px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/66922722-35180400-f05a-11e9-8ff0-7dd51716e4a8.png">
 
 #### Config and usage
 
diff --git a/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md b/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
index e2fd675d17..a446b187cd 100644
--- a/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
+++ b/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
@@ -25,7 +25,7 @@
 
 Zeppelin is a web-based notebook that enables interactive data analytics. You can connect to data sources and perform interactive operations with SQL, Scala, etc. The operations can be saved as documents, just like Jupyter. Zeppelin has already supported many data sources, including Spark, ElasticSearch, Cassandra, and InfluxDB. Now, we have enabled Zeppelin to operate IoTDB via SQL. 
 
-![iotdb-note-snapshot](/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png)
+![iotdb-note-snapshot](https://alioss.timecho.com/docs/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png)
 
 
 
@@ -113,7 +113,7 @@ In the interpreter page:
 
 Now you are ready to use your interpreter.
 
-![iotdb-create-note](/img/github/102752945-5171a800-43a5-11eb-8614-53b3276a3ce2.png)
+![iotdb-create-note](https://alioss.timecho.com/docs/img/github/102752945-5171a800-43a5-11eb-8614-53b3276a3ce2.png)
 
 We provide some simple SQL to show the use of Zeppelin-IoTDB interpreter:
 
@@ -147,7 +147,7 @@ We provide some simple SQL to show the use of Zeppelin-IoTDB interpreter:
 
 The screenshot is as follows:
 
-![iotdb-note-snapshot2](/img/github/102752948-52a2d500-43a5-11eb-9156-0c55667eb4cd.png)
+![iotdb-note-snapshot2](https://alioss.timecho.com/docs/img/github/102752948-52a2d500-43a5-11eb-9156-0c55667eb4cd.png)
 
 You can also design more fantasy documents referring to [[1]](https://zeppelin.apache.org/docs/0.9.0/usage/display_system/basic.html) and others.
 
@@ -159,7 +159,7 @@ The above demo notebook can be found at  `$IoTDB_HOME/zeppelin-interpreter/Zeppe
 
 You can configure the connection parameters in http://127.0.0.1:8080/#/interpreter :
 
-![iotdb-configuration](/img/github/102752940-50407b00-43a5-11eb-94fb-3e3be222183c.png)
+![iotdb-configuration](https://alioss.timecho.com/docs/img/github/102752940-50407b00-43a5-11eb-94fb-3e3be222183c.png)
 
 The parameters you can configure are as follows:
 
diff --git a/docs/UserGuide/IoTDB-Introduction/Architecture.md b/docs/UserGuide/IoTDB-Introduction/Architecture.md
index e6757a8c43..a18ac805c7 100644
--- a/docs/UserGuide/IoTDB-Introduction/Architecture.md
+++ b/docs/UserGuide/IoTDB-Introduction/Architecture.md
@@ -25,7 +25,7 @@ Besides IoTDB engine, we also developed several components to provide better IoT
 
 IoTDB suite can provide a series of functions in the real situation such as data collection, data writing, data storage, data query, data visualization and data analysis. Figure 1.1 shows the overall application architecture brought by all the components of the IoTDB suite. 
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/67943956-39c1e800-fc16-11e9-8da2-a662f8246816.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/67943956-39c1e800-fc16-11e9-8da2-a662f8246816.png">
 
 As shown in Figure 1.1, users can use JDBC to import timeseries data collected by sensor on the device to local/remote IoTDB. These timeseries data may be system state data (such as server load and CPU memory, etc.), message queue data, timeseries data from applications, or other timeseries data in the database. Users can also write the data directly to the TsFile (local or on HDFS).
 
diff --git a/docs/UserGuide/IoTDB-Introduction/Scenario.md b/docs/UserGuide/IoTDB-Introduction/Scenario.md
index c3e0e72ec0..bd44de2356 100644
--- a/docs/UserGuide/IoTDB-Introduction/Scenario.md
+++ b/docs/UserGuide/IoTDB-Introduction/Scenario.md
@@ -31,11 +31,11 @@ In order to improve the quality of the printing, it is necessary for the company
 
 At this point, the data can be stored using TsFile component, TsFileSync tool, and Hadoop/Spark integration component in the IoTDB suite.That is, each time a new chip is printed, a data is written on the SPI device using the SDK, which ultimately forms a TsFile. Through the TsFileSync tool, the generated TsFile will be synchronized to the data center according to certain rules (such as daily) and analyzed by data analysts tools.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579014-695ef980-1efa-11e9-8cbc-e9e7ee4fa0d8.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579014-695ef980-1efa-11e9-8cbc-e9e7ee4fa0d8.png">
 
 In this scenario, only TsFile and TsFileSync are required to be deployed on a PC, and a Hadoop/Spark cluster is required. Figure below shows the architecture at this time.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81768490-bf034f00-950d-11ea-9b56-fef3edca0958.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81768490-bf034f00-950d-11ea-9b56-fef3edca0958.png">
 
 * Scenario 2
 
@@ -43,11 +43,11 @@ A company has several wind turbines which are installed hundreds of sensors on e
 
 In order to ensure the normal operation of the turbines and timely monitoring and analysis of the turbines, the company needs to collect these sensor data, perform partial calculation and analysis in the turbines working environment, and upload the original data collected to the data center.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579033-7ed42380-1efa-11e9-889f-fb4180291a9e.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579033-7ed42380-1efa-11e9-889f-fb4180291a9e.png">
 
 In this situation, IoTDB, TsFileSync tools, and Hadoop/Spark integration components in the IoTDB suite can be used. A PC needs to be deployed with IoTDB and TsFileSync tools installed to support reading and writing data, local computing and analysis, and uploading data to the data center. In addition, Hadoop/Spark clusters need to be deployed for data storage and analysis on the data center side. Figure below shows the architecture at this time.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579064-8f849980-1efa-11e9-8cd6-a7339cd0540f.jpg">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579064-8f849980-1efa-11e9-8cd6-a7339cd0540f.jpg">
 
 * Scenario 3
 
@@ -57,11 +57,11 @@ A variety of sensors are installed on each robotic device to monitor the robot's
 
 In order to ensure that the data of the robot can be monitored and analyzed in time, the company needs to collect the information of these robot sensors, send them to the server that can connect to the external network, and then upload the original data information to the data center for complex calculation and analysis.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579080-96aba780-1efa-11e9-87ac-940c45b19dd7.jpg">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579080-96aba780-1efa-11e9-87ac-940c45b19dd7.jpg">
 
 At this point, IoTDB, IoTDB-Client tools, TsFileSync tools, and Hadoop/Spark integration components in the IoTDB suite can be used. IoTDB-Client tool is installed on the robot and each of them is connected to the LAN of the factory. When sensors generate real-time data, the data will be uploaded to the server in the factory. The IoTDB server and TsFileSync is installed on the server connected to the external network. Once triggered, the data on the server will be upload to the data cente [...]
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81768477-b874d780-950d-11ea-80ca-8807b9bd0970.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81768477-b874d780-950d-11ea-80ca-8807b9bd0970.png">
 
 * Scenario 4
 
@@ -73,4 +73,4 @@ At this point, IoTDB, IoTDB-Client, and Hadoop/Spark integration components in t
 
 In addition, Hadoop/Spark clusters need to be deployed for data storage and analysis on the data center side. As shown in Figure below.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579095-a4f9c380-1efa-11e9-9f95-17165ec55568.jpg">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579095-a4f9c380-1efa-11e9-9f95-17165ec55568.jpg">
diff --git a/docs/UserGuide/Maintenance-Tools/JMX-Tool.md b/docs/UserGuide/Maintenance-Tools/JMX-Tool.md
index 171bb222f5..14678d6a1f 100644
--- a/docs/UserGuide/Maintenance-Tools/JMX-Tool.md
+++ b/docs/UserGuide/Maintenance-Tools/JMX-Tool.md
@@ -48,12 +48,12 @@ Step 4: Use jvisualvm
 1. Make sure jdk 8 is installed. For versions later than jdk 8, you need to [download visualvm](https://visualvm.github.io/download.html) 
 2. Open jvisualvm
 3. Right-click at the left navigation area -> Add JMX connection
-<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81464569-725e0200-91f5-11ea-9ff9-49745f4c9ef2.png">
+<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81464569-725e0200-91f5-11ea-9ff9-49745f4c9ef2.png">
 
 4. Fill in information and log in as below. Remember to check "Do not require SSL connection".
 An example is:
 Connection:192.168.130.15:31999
 Username:iotdb
 Password:passw!d
-<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81464639-ed271d00-91f5-11ea-91a0-b4fe9cb8204e.png">
+<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81464639-ed271d00-91f5-11ea-91a0-b4fe9cb8204e.png">
 
diff --git a/docs/UserGuide/Maintenance-Tools/Log-Tool.md b/docs/UserGuide/Maintenance-Tools/Log-Tool.md
index 0ce3c0512e..3b6f8592a5 100644
--- a/docs/UserGuide/Maintenance-Tools/Log-Tool.md
+++ b/docs/UserGuide/Maintenance-Tools/Log-Tool.md
@@ -35,14 +35,14 @@ Here we use JConsole to connect with JMX.
 
 Start the JConsole, establish a new JMX connection with the IoTDB Server (you can select the local process or input the IP and PORT for remote connection, the default operation port of the IoTDB JMX service is 31999). Fig 4.1 shows the connection GUI of JConsole.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51577195-f94d7500-1ef3-11e9-999a-b4f67055d80e.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51577195-f94d7500-1ef3-11e9-999a-b4f67055d80e.png">
 
 After connected, click `MBean` and find `ch.qos.logback.classic.default.ch.qos.logback.classic.jmx.JMXConfigurator`(As shown in fig 4.2).
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51577204-fe122900-1ef3-11e9-9e89-2eb1d46e24b8.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51577204-fe122900-1ef3-11e9-9e89-2eb1d46e24b8.png">
 
 In the JMXConfigurator Window, there are 6 operations provided, as shown in fig 4.3. You can use these interfaces to perform operation.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51577216-09fdeb00-1ef4-11e9-9005-542ad7d9e9e0.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51577216-09fdeb00-1ef4-11e9-9005-542ad7d9e9e0.png">
 
 #### Interface Instruction
 
diff --git a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
index 3a8b857d7d..d1bbbf08e8 100644
--- a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -319,7 +319,7 @@ As above descriptions,IoTDB provides metrics data in standard Prometheus forma
 
 The following picture describes the relationships among IoTDB, Prometheus and Grafana
 
-![iotdb_prometheus_grafana](/img/UserGuide/System-Tools/Metrics/iotdb_prometheus_grafana.png)
+![iotdb_prometheus_grafana](https://alioss.timecho.com/docs/img/UserGuide/System-Tools/Metrics/iotdb_prometheus_grafana.png)
 
 1. Along with running, IoTDB will collect its metrics continuously.
 2. Prometheus scrapes metrics from IoTDB at a constant interval (can be configured).
@@ -357,7 +357,7 @@ The following documents may help you have a good journey with Prometheus and Gra
 ### 1.4.3. Apache IoTDB Dashboard
 We provide the Apache IoTDB Dashboard, and the rendering shown in Grafana is as follows:
 
-![Apache IoTDB Dashboard](/img/UserGuide/System-Tools/Metrics/dashboard.png)
+![Apache IoTDB Dashboard](https://alioss.timecho.com/docs/img/UserGuide/System-Tools/Metrics/dashboard.png)
 
 How to get Apache IoTDB Dashboard:
 
@@ -375,7 +375,7 @@ By using JConsole tool and connecting with JMX you are provided with some system
 
 This section describes how to use the JConsole ```Mbean```tab of jconsole to monitor some system configurations of IoTDB, the statistics of writing, and so on. After connecting to JMX, you can find the "MBean" of "org.apache.iotdb.service", as shown in the figure below.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/149951720-707f1ee8-32ee-4fde-9252-048caebd232e.png"> <br>
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/149951720-707f1ee8-32ee-4fde-9252-048caebd232e.png"> <br>
 
 # 4. Performance Monitor
 
@@ -383,7 +383,7 @@ This section describes how to use the JConsole ```Mbean```tab of jconsole to mon
 
 To grasp the performance of iotdb, this module is added to count the time-consumption of each operation. This module can compute the statistics of the avg time-consuming of each operation and the proportion of each operation whose time consumption falls into a time range. The output is in log_measure.log file. An output example is below.  
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/60937461-14296f80-a303-11e9-9602-a7bed624bfb3.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/60937461-14296f80-a303-11e9-9602-a7bed624bfb3.png">
 
 ## 4.2. Configuration parameter
 
@@ -403,4 +403,4 @@ To improve query performance, IOTDB caches ChunkMetaData and TsFileMetaData. Use
 1. Connect to jconsole with port 31999 and select 'MBean' in the menu item above.
 2. Expand the sidebar and select 'org.apache.iotdb.db.service'. You will get the results shown in the following figure:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/112426760-73e3da80-8d73-11eb-9a8f-9232d1f2033b.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/112426760-73e3da80-8d73-11eb-9a8f-9232d1f2033b.png">
diff --git a/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md b/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
index 18a4231463..dd6ead97ad 100644
--- a/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
+++ b/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
@@ -51,7 +51,7 @@ Illustrated as the following figure:
 
 * When default_storage_group_level=2, root.turbine1.d1, root.turbine1.d2, root.turbine2.d1 and root.turbine2.d2 will be set as storage group.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
 
 ## Auto create time series metadata(specify data type in the frontend)
 
diff --git a/docs/UserGuide/Operate-Metadata/Timeseries.md b/docs/UserGuide/Operate-Metadata/Timeseries.md
index 5b4c969733..cd7e0f2e67 100644
--- a/docs/UserGuide/Operate-Metadata/Timeseries.md
+++ b/docs/UserGuide/Operate-Metadata/Timeseries.md
@@ -181,7 +181,7 @@ It costs 0.004s
 
 Then the Metadata Tree will be as below:
 
-<center><img style="width:100%; max-width:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/69792176-1718f400-1201-11ea-861a-1a83c07ca144.jpg"></center>
+<center><img style="width:100%; max-width:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/69792176-1718f400-1201-11ea-861a-1a83c07ca144.jpg"></center>
 
 As can be seen, `root` is considered as `LEVEL=0`. So when you enter statements such as:
 
diff --git a/docs/UserGuide/Process-Data/Alerting.md b/docs/UserGuide/Process-Data/Alerting.md
index 02f08579e7..893df6ba13 100644
--- a/docs/UserGuide/Process-Data/Alerting.md
+++ b/docs/UserGuide/Process-Data/Alerting.md
@@ -380,6 +380,6 @@ makes alerts of `critical` severity inhibit those of `warning` severity,
 the alerting email we receive only contains the alert triggered
 by the writing of `(5, 120)`.
 
-<img width="669" alt="alerting" src="/img/github/115957896-a9791080-a537-11eb-9962-541412bdcee6.png">
+<img width="669" alt="alerting" src="https://alioss.timecho.com/docs/img/github/115957896-a9791080-a537-11eb-9962-541412bdcee6.png">
 
 
diff --git a/docs/UserGuide/Process-Data/UDF-User-Defined-Function.md b/docs/UserGuide/Process-Data/UDF-User-Defined-Function.md
index 5539d5dd98..70b04fd1eb 100644
--- a/docs/UserGuide/Process-Data/UDF-User-Defined-Function.md
+++ b/docs/UserGuide/Process-Data/UDF-User-Defined-Function.md
@@ -190,7 +190,7 @@ The sliding step parameter is also optional. If the parameter is not provided, t
 
 The relationship between the three types of parameters can be seen in the figure below. Please see the Javadoc for more details. 
 
-<div style="text-align: center;"><img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/99787878-47b51480-2b5b-11eb-8ed3-84088c5c30f7.png"></div>
+<div style="text-align: center;"><img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/99787878-47b51480-2b5b-11eb-8ed3-84088c5c30f7.png"></div>
 
 Note that the actual time interval of some of the last time windows may be less than the specified time interval parameter. In addition, there may be cases where the number of data rows in some time windows is 0. In these cases, the framework will also call the `transform` method for the empty windows.
 
diff --git a/docs/UserGuide/Query-Data/Aggregate-Query.md b/docs/UserGuide/Query-Data/Aggregate-Query.md
index ca05263a4e..e2abb70e55 100644
--- a/docs/UserGuide/Query-Data/Aggregate-Query.md
+++ b/docs/UserGuide/Query-Data/Aggregate-Query.md
@@ -179,7 +179,7 @@ The GROUP BY statement provides users with three types of specified parameters:
 The actual meanings of the three types of parameters are shown in Figure below. 
 Among them, the parameter 3 is optional. 
 
-<center><img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/69109512-f808bc80-0ab2-11ea-9e4d-b2b2f58fb474.png">
+<center><img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/69109512-f808bc80-0ab2-11ea-9e4d-b2b2f58fb474.png">
     </center>
 
 There are three typical examples of frequency reduction aggregation: 
diff --git a/docs/UserGuide/QuickStart/Command-Line-Interface.md b/docs/UserGuide/QuickStart/Command-Line-Interface.md
index aad3c14003..4c75a3d0e5 100644
--- a/docs/UserGuide/QuickStart/Command-Line-Interface.md
+++ b/docs/UserGuide/QuickStart/Command-Line-Interface.md
@@ -127,48 +127,48 @@ Shell >cd bin
 Shell >./standalone.sh
 ```
 2、use url(https://ip:port/auth) login keycloack, the first login needs to create a user
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/login_keycloak.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/login_keycloak.png?raw=true)
 
 3、Click administration console
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/AdministrationConsole.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/AdministrationConsole.png?raw=true)
 
 4、In the master menu on the left, click Add realm and enter name to create a new realm
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_Realm_1.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_Realm_1.png?raw=true)
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_Realm_2.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_Realm_2.png?raw=true)
 
 
 5、Click the menu clients on the left to create clients
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/client.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/client.png?raw=true)
 
 6、Click user on the left menu to create user
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/user.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/user.png?raw=true)
 
 7、Click the newly created user ID, click the credentials navigation, enter the password and close the temporary option. The configuration of keycloud is completed
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/pwd.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/pwd.png?raw=true)
 
 8、To create a role, click Roles on the left menu and then click the Add Role button to add a role
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
 
 9、 Enter `iotdb_admin` in the Role Name and click the save button. Tip: `iotdb_admin` here cannot be any other name, otherwise even after successful login, you will not have permission to use iotdb's query, insert, create storage group, add users, roles and other functions
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
 
 10、Click the User menu on the left and click the Edit button in the user list to add the `iotdb_admin` role we just created for this user
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role3.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role3.png?raw=true)
 
 11、 Select Role Mappings, select the `iotdb_admin` role in Available Role and click the Add selected button to add the role
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role4.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role4.png?raw=true)
 
 12. If the `iotdb_admin` role is in Assigned Roles and the `Success Role mappings updated` prompt appears, it proves that the role was added successfully
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role5.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role5.png?raw=true)
 
 
 Tip: If the user role is adjusted, you need to regenerate the token and log in to iotdb again to take effect
diff --git a/docs/UserGuide/Reference/TSDB-Comparison.md b/docs/UserGuide/Reference/TSDB-Comparison.md
index 76f9db1166..0b9e272bb3 100644
--- a/docs/UserGuide/Reference/TSDB-Comparison.md
+++ b/docs/UserGuide/Reference/TSDB-Comparison.md
@@ -23,7 +23,7 @@
 
 ## Overview
 
-![TSDB Comparison](/img/github/119833923-182ffc00-bf32-11eb-8b3f-9f95d3729ad2.png)
+![TSDB Comparison](https://alioss.timecho.com/docs/img/github/119833923-182ffc00-bf32-11eb-8b3f-9f95d3729ad2.png)
 
 
 
@@ -323,7 +323,7 @@ IoTDB uses batch insertion API and the batch size is distributed from 0 to 6000
 
 The write throughput (points/second) is:
 
-![Batch Size with Write Throughput (points/second)](/img/github/106251391-df1b9f80-624f-11eb-9f1f-66823839acba.png)
+![Batch Size with Write Throughput (points/second)](https://alioss.timecho.com/docs/img/github/106251391-df1b9f80-624f-11eb-9f1f-66823839acba.png)
 <span id = "exp1"> <center>Figure 1. Batch Size with Write throughput (points/second) IoTDB v0.11.1</center></span>
 
 * client num:
@@ -333,24 +333,24 @@ IoTDB uses batch insertion API and the batch size is 100 (write 100 data points
 
 The write throughput (points/second) is:
 
-![Client Num with Write Throughput (points/second) (ms)](/img/github/106251411-e5aa1700-624f-11eb-8ca8-00c0627b1e96.png)
+![Client Num with Write Throughput (points/second) (ms)](https://alioss.timecho.com/docs/img/github/106251411-e5aa1700-624f-11eb-8ca8-00c0627b1e96.png)
 <center>Figure 3. Client Num with Write Throughput (points/second) IoTDB v0.11.1</center>
 
 **Query performance**
 
-![Raw data query 1 col](/img/github/106251377-daef8200-624f-11eb-9678-b1d5440be2de.png)
+![Raw data query 1 col](https://alioss.timecho.com/docs/img/github/106251377-daef8200-624f-11eb-9678-b1d5440be2de.png)
 <center>Figure 4. Raw data query 1 col time cost(ms) IoTDB v0.11.1</center>
 
-![Aggregation query](/img/github/106251336-cf03c000-624f-11eb-8395-de5e349f47b5.png)
+![Aggregation query](https://alioss.timecho.com/docs/img/github/106251336-cf03c000-624f-11eb-8395-de5e349f47b5.png)
 <center>Figure 5. Aggregation query time cost(ms) IoTDB v0.11.1</center>
 
-![Downsampling query](/img/github/106251353-d32fdd80-624f-11eb-80c1-fdb4197939fe.png)
+![Downsampling query](https://alioss.timecho.com/docs/img/github/106251353-d32fdd80-624f-11eb-80c1-fdb4197939fe.png)
 <center>Figure 6. Downsampling query time cost(ms) IoTDB v0.11.1</center>
 
-![Latest query](/img/github/106251369-d7f49180-624f-11eb-9d19-fc7341582b90.png)
+![Latest query](https://alioss.timecho.com/docs/img/github/106251369-d7f49180-624f-11eb-9d19-fc7341582b90.png)
 <center>Figure 7. Latest query time cost(ms) IoTDB v0.11.1</center>
 
-![Data compression](/img/github/118790229-23e34900-b8c8-11eb-87da-ac01dd117f28.png)
+![Data compression](https://alioss.timecho.com/docs/img/github/118790229-23e34900-b8c8-11eb-87da-ac01dd117f28.png)
 <center>Figure 8. Data compression IoTDB v0.11.1</center>
 
 We can see that IoTDB outperforms others.
diff --git a/docs/zh/UserGuide/API/InfluxDB-Protocol.md b/docs/zh/UserGuide/API/InfluxDB-Protocol.md
index 18aab0ba5e..020e4bf83d 100644
--- a/docs/zh/UserGuide/API/InfluxDB-Protocol.md
+++ b/docs/zh/UserGuide/API/InfluxDB-Protocol.md
@@ -39,9 +39,9 @@ InfluxDB influxDB = IoTDBInfluxDBFactory.connect(openurl, username, password);
 
 该适配器以 IoTDB Java Session 接口为底层基础,实现了 InfluxDB 的 Java 接口 `interface InfluxDB`,对用户提供了所有 InfluxDB 的接口方法,最终用户可以无感知地使用 InfluxDB 协议向 IoTDB 发起写入和读取请求。
 
-![architecture-design](/img/UserGuide/API/IoTDB-InfluxDB/architecture-design.png?raw=true)
+![architecture-design](https://alioss.timecho.com/docs/img/UserGuide/API/IoTDB-InfluxDB/architecture-design.png?raw=true)
 
-![class-diagram](/img/UserGuide/API/IoTDB-InfluxDB/class-diagram.png?raw=true)
+![class-diagram](https://alioss.timecho.com/docs/img/UserGuide/API/IoTDB-InfluxDB/class-diagram.png?raw=true)
 
 
 #### 2.2 元数据格式转换
@@ -55,7 +55,7 @@ InfluxDB 的元数据是 tag-field 模型,IoTDB 的元数据是树形模型。
 3. tags : 各种有索引的属性。
 4. fields : 各种记录值(没有索引的属性)。
 
-![influxdb-data](/img/UserGuide/API/IoTDB-InfluxDB/influxdb-data.png?raw=true)
+![influxdb-data](https://alioss.timecho.com/docs/img/UserGuide/API/IoTDB-InfluxDB/influxdb-data.png?raw=true)
 
 ##### 2.2.2 IoTDB 元数据
 
@@ -63,7 +63,7 @@ InfluxDB 的元数据是 tag-field 模型,IoTDB 的元数据是树形模型。
 2. path(time series ID):存储路径。
 3. measurement: 物理量。
 
-![iotdb-data](/img/UserGuide/API/IoTDB-InfluxDB/iotdb-data.png?raw=true)
+![iotdb-data](https://alioss.timecho.com/docs/img/UserGuide/API/IoTDB-InfluxDB/iotdb-data.png?raw=true)
 
 ##### 2.2.3 两者映射关系
 
@@ -76,7 +76,7 @@ InfluxDB 元数据向 IoTDB 元数据的转换关系可以由下面的公示表
 
 `root.{database}.{measurement}.{tag value 1}.{tag value 2}...{tag value N-1}.{tag value N}.{field key}`
 
-![influxdb-vs-iotdb-data](/img/UserGuide/API/IoTDB-InfluxDB/influxdb-vs-iotdb-data.png?raw=true)
+![influxdb-vs-iotdb-data](https://alioss.timecho.com/docs/img/UserGuide/API/IoTDB-InfluxDB/influxdb-vs-iotdb-data.png?raw=true)
 
 如上图所示,可以看出:
 
diff --git a/docs/zh/UserGuide/API/Programming-MQTT.md b/docs/zh/UserGuide/API/Programming-MQTT.md
index 8db145d57e..3a6fa5ac9f 100644
--- a/docs/zh/UserGuide/API/Programming-MQTT.md
+++ b/docs/zh/UserGuide/API/Programming-MQTT.md
@@ -30,7 +30,7 @@
 IoTDB 支持 MQTT v3.1(OASIS 标准)协议。
 IoTDB 服务器包括内置的 MQTT 服务,该服务允许远程设备将消息直接发送到 IoTDB 服务器。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/78357432-0c71cf80-75e4-11ea-98aa-c43a54d469ce.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/78357432-0c71cf80-75e4-11ea-98aa-c43a54d469ce.png">
 
 ### 内置 MQTT 服务
 内置的 MQTT 服务提供了通过 MQTT 直接连接到 IoTDB 的能力。 它侦听来自 MQTT 客户端的发布消息,然后立即将数据写入存储。
@@ -56,7 +56,7 @@ MQTT 主题与 IoTDB 时间序列相对应。
   }
 ```
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/78357469-1bf11880-75e4-11ea-978f-a53996667a0d.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/78357469-1bf11880-75e4-11ea-978f-a53996667a0d.png">
 
 ### MQTT 配置
 默认情况下,IoTDB MQTT 服务从`${IOTDB_HOME}/${IOTDB_CONF}/iotdbengine.properties`加载配置。
diff --git a/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md b/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md
index c3f7379807..16f357f1b3 100644
--- a/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md
+++ b/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md
@@ -25,7 +25,7 @@
 
 根据企业组织结构和设备实体层次结构,我们将其物联网数据模型表示为如下图所示的属性层级组织结构,即电力集团层-风电场层-实体层-物理量层。其中 ROOT 为根节点,物理量层的每一个节点为叶子节点。IoTDB 采用树形结构定义数据模式,以从 ROOT 节点到叶子节点的路径来命名一个时间序列,层次间以“.”连接。例如,下图最左侧路径对应的时间序列名称为`ROOT.ln.wf01.wt01.status`。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/123542457-5f511d00-d77c-11eb-8006-562d83069baa.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/123542457-5f511d00-d77c-11eb-8006-562d83069baa.png">
 
 在上图所描述的实际场景中,有许多实体所采集的物理量相同,即具有相同的工况名称和类型,因此,可以声明一个**元数据模板**来定义可采集的物理量集合。在实践中,元数据模板的使用可帮助减少元数据的资源占用,详细内容参见 [元数据模板文档](./Schema-Template.md)。
 
@@ -141,6 +141,6 @@ wildcard
 
 插入数据时,对齐的时间序列中某列的某些行允许有空值。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/114125919-f4850800-9929-11eb-8211-81d4c04af1ec.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/114125919-f4850800-9929-11eb-8211-81d4c04af1ec.png">
 
 在后续数据定义语言、数据操作语言和 Java 原生接口章节,将对涉及到对齐时间序列的各种操作进行逐一介绍。
diff --git a/docs/zh/UserGuide/Data-Concept/Schema-Template.md b/docs/zh/UserGuide/Data-Concept/Schema-Template.md
index 62b897c84b..01ae24b5b8 100644
--- a/docs/zh/UserGuide/Data-Concept/Schema-Template.md
+++ b/docs/zh/UserGuide/Data-Concept/Schema-Template.md
@@ -29,7 +29,7 @@
 
 下图展示了一个燃油车场景的数据模型,各地区的多台燃油车的速度、油量、加速度、角速度四个物理量将会被采集,显然这些燃油车实体具备相同的物理量。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Measurement-Template/example_without_template.png?raw=true" alt="example without template">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Measurement-Template/example_without_template.png?raw=true" alt="example without template">
 
 ### 概念定义
 
@@ -45,7 +45,7 @@
 
 使用元数据模板后,问题背景中示例的燃油车数据模型将会转变至下图所示的形式。所有的物理量元数据仅在模板中保存一份,所有的实体共享模板中的元数据。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Measurement-Template/example_with_template.png?raw=true" alt="example with template">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Measurement-Template/example_with_template.png?raw=true" alt="example with template">
 
 ### 生命周期
 
@@ -60,7 +60,7 @@
 
 最后需要补充的是,**对挂载模板与激活模板进行区分,是为了服务一种常见的场景**:在 Apache IoTDB 元数据模型 MTree 中,经常需要在数量众多的节点上“应用”元数据模板,而这些节点一般拥有共同的祖先节点。因此,可以在其共同祖先节点**挂载**模板,而不必对其大量的孩子节点进行挂载操作。对于需要“应用”模板的节点,则应该使用**激活模板**的操作。
 
-<img style="width:100%; max-width:800px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Measurement-Template/example_template_lifetime_zh.png?raw=true" alt="example with template">
+<img style="width:100%; max-width:800px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Measurement-Template/example_template_lifetime_zh.png?raw=true" alt="example with template">
 
 ### 使用
 
diff --git a/docs/zh/UserGuide/Data-Concept/Time-Partition.md b/docs/zh/UserGuide/Data-Concept/Time-Partition.md
index dc7eaeb6d9..9fb64db1b4 100644
--- a/docs/zh/UserGuide/Data-Concept/Time-Partition.md
+++ b/docs/zh/UserGuide/Data-Concept/Time-Partition.md
@@ -49,7 +49,7 @@
 
 开启时间分区功能,并设置 partition_interval 为 86400(一天),则数据的分布情况如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Time-Partition/time_partition_example.png?raw=true" alt="time partition example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Time-Partition/time_partition_example.png?raw=true" alt="time partition example">
 
 * 插入一条时间戳为 0 的数据,计算 0 / 86400 = 0,则该数据会被存储到 0 号文件夹下的TsFile中
   
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/DBeaver.md b/docs/zh/UserGuide/Ecosystem-Integration/DBeaver.md
index 65cd7799a9..5a5a721cd3 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/DBeaver.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/DBeaver.md
@@ -46,10 +46,10 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 I
 
 3. 打开 Driver Manager
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/01.png?raw=true)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/01.png?raw=true)
 4. 为 IoTDB 新建一个驱动类型
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/02.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/02.png)
 
 5. 下载[源代码](https://iotdb.apache.org/zh/Download/),解压并运行下面的命令编译 jdbc 驱动
 
@@ -58,15 +58,15 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 I
    ```
 7. 在`jdbc/target/`下找到并添加名为`apache-iotdb-jdbc-{version}-jar-with-dependencies.jar`的库,点击 `Find Class`。
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/03.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/03.png)
 
 8. 编辑驱动设置
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/05.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/05.png)
   
 9. 新建 DataBase Connection, 选择 iotdb
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/06.png) 
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/06.png) 
 
 10. 编辑 JDBC 连接设置
 
@@ -75,12 +75,12 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 I
    Username: root
    Password: root
    ```
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/07.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/07.png)
 
 11. 测试连接
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/08.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/08.png)
 
 12. 可以开始通过 DBeaver 使用 IoTDB
 
-   ![](/img/UserGuide/Ecosystem-Integration/DBeaver/09.png)
+   ![](https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/DBeaver/09.png)
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Connector.md b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Connector.md
index c18f9d6d85..953f3bfa54 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Connector.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Connector.md
@@ -131,16 +131,16 @@ Grafana 以网页的 dashboard 形式为您展示数据,在使用时请您打
 #### 添加 IoTDB 数据源
 
 点击左上角的“Grafana”图标,选择`Data Source`选项,然后再点击`Add data source`。
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51664777-2766ae00-1ff5-11e9-9d2f-7489f8ccbfc2.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51664777-2766ae00-1ff5-11e9-9d2f-7489f8ccbfc2.png">
 
 在编辑数据源的时候,`Type`一栏选择`Simplejson`,`URL`一栏填写 http://\<ip\>:\<port\>,IP 为您的 IoTDB-Grafana-Connector 连接器所在的服务器 IP,Port 为运行端口(默认 8888)。之后确保 IoTDB 已经启动,点击“Save & Test”,出现“Data Source is working”提示表示配置成功。
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51664842-554bf280-1ff5-11e9-97d2-54eebe0b2ca1.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51664842-554bf280-1ff5-11e9-97d2-54eebe0b2ca1.png">
 
 #### 操作 Grafana
 
 进入 Grafana 可视化页面后,可以选择添加时间序列,如下图。您也可以按照 Grafana 官方文档进行相应的操作,详情可参看 Grafana 官方文档:http://docs.grafana.org/guides/getting_started/。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51664878-6e54a380-1ff5-11e9-9718-4d0e24627fa8.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51664878-6e54a380-1ff5-11e9-9718-4d0e24627fa8.png">
 
 ### 配置 grafana
 
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
index 51dffabc8f..86c0456027 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
@@ -76,7 +76,7 @@ yarn build
 
 如果编译成功,我们将看到生成的目标文件夹 `dist`,它包含了编译好的 Grafana 前端插件:
 
-<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana-plugin-build.png?raw=true">
+<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana-plugin-build.png?raw=true">
 
 ##### 方案二
 
@@ -90,7 +90,7 @@ yarn build
 
 如果编译成功,我们将看到 `distribution/target` 路径下包含了编译好的 Grafana 前端插件:
 
-<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/distribution.png?raw=true">
+<img style="width:100%; max-width:333px; max-height:545px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/distribution.png?raw=true">
 
 
 
@@ -168,9 +168,9 @@ Grafana 以网页的 dashboard 形式为您展示数据,在使用时请您打
 
 点击左侧的 `设置` 图标,选择 `Data Source` 选项,然后再点击 `Add data source`。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_1.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_1.png?raw=true">
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_2.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_2.png?raw=true">
 
 选择 `Apache IoTDB` 数据源,`URL` 一栏填写  `http://<ip>:<port>`。
 
@@ -178,7 +178,7 @@ Ip 为您的 IoTDB 服务器所在的宿主机 IP,port 为 REST 服务的运
 
 输入 IoTDB 服务器的 username 和 password,点击 `Save & Test`,出现 `Success` 则提示配置成功。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_3.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/datasource_3.png?raw=true">
 
 
 
@@ -186,17 +186,17 @@ Ip 为您的 IoTDB 服务器所在的宿主机 IP,port 为 REST 服务的运
 
 点击左侧的 `Dashboards` 图标,选择 `Manage`,如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/manage.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/manage.png?raw=true">
 
 点击右上方的 `New Dashboard`  图标,选择 `Add an empty panel`,如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/add-empty-panel.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/add-empty-panel.png?raw=true">
 
 在 SELECT 输入框、FROM 输入框、WHERE输入框、CONTROL输入框中输入内容,其中 WHERE 和 CONTROL 输入框为非必填。
 
 如果一个查询涉及多个表达式,我们可以点击 SELECT 输入框右侧的 `+` 来添加 SELECT 子句中的表达式,也可以点击 FROM 输入框右侧的 `+` 来添加路径前缀,如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana_input.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/grafana_input.png?raw=true">
 
 SELECT 输入框中的内容可以是时间序列的后缀,可以是函数或自定义函数,可以是算数表达式,也可以是它们的嵌套表达式。您还可以使用 as 子句来重命名需要显示的结果序列名字。
 
@@ -229,19 +229,19 @@ CONTROL 输入框为非必须填写项目,填写内容应当是控制查询类
 
 创建一个新的 Panel 后,点击右上角的设置按钮,如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/setconf.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/setconf.png?raw=true">
 
 选择 `Variables`,点击 `Add variable` ,如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/addvaribles.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/addvaribles.png?raw=true">
 
 输入 `Name`,`Label`,和 `Query`, 点击 `Update` 按钮,如下图所示:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/variblesinput.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/variblesinput.png?raw=true">
 
 应用 Variables,在 `grafana  panel` 中输入变量点击 `save` 按钮,如下图所示
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Ecosystem-Integration/Grafana-plugin/applyvariables.png?raw=true">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Ecosystem-Integration/Grafana-plugin/applyvariables.png?raw=true">
 
 
 
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md b/docs/zh/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md
index 8e730fed82..866143bfa8 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Writing-Data-on-HDFS.md
@@ -29,7 +29,7 @@
 
 当你配置使用 HDFS 存储 TSFile 之后,你的数据文件将会被分布式存储。系统架构如下:
 
-<img style="width:100%; max-width:700px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/66922722-35180400-f05a-11e9-8ff0-7dd51716e4a8.png">
+<img style="width:100%; max-width:700px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/66922722-35180400-f05a-11e9-8ff0-7dd51716e4a8.png">
 
 #### Config and usage
 
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md b/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
index a065679ccc..b1b35d7e8a 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
@@ -25,7 +25,7 @@
 
 Apache Zeppelin 是一个基于网页的交互式数据分析系统。用户可以通过 Zeppelin 连接数据源并使用 SQL、Scala 等进行交互式操作。操作可以保存为文档(类似于 Jupyter)。Zeppelin 支持多种数据源,包括 Spark、ElasticSearch、Cassandra 和 InfluxDB 等等。现在,IoTDB 已经支持使用 Zeppelin 进行操作。样例如下:
 
-![iotdb-note-snapshot](/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png)
+![iotdb-note-snapshot](https://alioss.timecho.com/docs/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png)
 
 ### Zeppelin-IoTDB 解释器
 
@@ -105,7 +105,7 @@ or
 
 现在可以开始使用 Zeppelin 操作 IoTDB 了。
 
-![iotdb-create-note](/img/github/102752945-5171a800-43a5-11eb-8614-53b3276a3ce2.png)
+![iotdb-create-note](https://alioss.timecho.com/docs/img/github/102752945-5171a800-43a5-11eb-8614-53b3276a3ce2.png)
 
 我们提供了一些简单的 SQL 来展示 Zeppelin-IoTDB 解释器的使用:
 
@@ -138,7 +138,7 @@ WHERE time >= 1
 
 样例如下:
 
-![iotdb-note-snapshot2](/img/github/102752948-52a2d500-43a5-11eb-9156-0c55667eb4cd.png)
+![iotdb-note-snapshot2](https://alioss.timecho.com/docs/img/github/102752948-52a2d500-43a5-11eb-9156-0c55667eb4cd.png)
 
 用户也可以参考 [[1]](https://zeppelin.apache.org/docs/0.9.0/usage/display_system/basic.html) 编写更丰富多彩的文档。
 
@@ -148,7 +148,7 @@ WHERE time >= 1
 
 进入页面 [http://127.0.0.1:8080/#/interpreter](http://127.0.0.1:8080/#/interpreter) 并配置 IoTDB 的连接参数:
 
-![iotdb-configuration](/img/github/102752940-50407b00-43a5-11eb-94fb-3e3be222183c.png)
+![iotdb-configuration](https://alioss.timecho.com/docs/img/github/102752940-50407b00-43a5-11eb-94fb-3e3be222183c.png)
 
 可配置参数默认值和解释如下:
 
diff --git a/docs/zh/UserGuide/IoTDB-Introduction/Architecture.md b/docs/zh/UserGuide/IoTDB-Introduction/Architecture.md
index 45a1429030..c5f172c0d4 100644
--- a/docs/zh/UserGuide/IoTDB-Introduction/Architecture.md
+++ b/docs/zh/UserGuide/IoTDB-Introduction/Architecture.md
@@ -25,7 +25,7 @@ IoTDB 套件由若干个组件构成,共同形成“数据收集-数据写入-
 
 如下图展示了使用 IoTDB 套件全部组件后形成的整体应用架构。下文称所有组件形成 IoTDB 套件,而 IoTDB 特指其中的时间序列数据库组件。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/67943956-39c1e800-fc16-11e9-8da2-a662f8246816.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/67943956-39c1e800-fc16-11e9-8da2-a662f8246816.png">
 
 在上图中,用户可以通过 JDBC 将来自设备上传感器采集的时序数据、服务器负载和 CPU 内存等系统状态数据、消息队列中的时序数据、应用程序的时序数据或者其他数据库中的时序数据导入到本地或者远程的 IoTDB 中。用户还可以将上述数据直接写成本地(或位于 HDFS 上)的 TsFile 文件。
 
diff --git a/docs/zh/UserGuide/IoTDB-Introduction/Scenario.md b/docs/zh/UserGuide/IoTDB-Introduction/Scenario.md
index 2eda6e8990..c963010c2c 100644
--- a/docs/zh/UserGuide/IoTDB-Introduction/Scenario.md
+++ b/docs/zh/UserGuide/IoTDB-Introduction/Scenario.md
@@ -29,11 +29,11 @@
 
 此时可以采用 IoTDB 套件中的 TsFile 组件、TsFileSync 工具和 Hadoop/Spark 集成组件对数据进行存储:每新印刷一个芯片,就在 SPI 设备上使用 SDK 写一条数据,这些数据最终形成一个 TsFile 文件。通过 TsFileSync 工具,生成的 TsFile 文件将按一定规则(如每天)被同步到 Hadoop 数据中心,并由数据分析人员对其进行分析。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579014-695ef980-1efa-11e9-8cbc-e9e7ee4fa0d8.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579014-695ef980-1efa-11e9-8cbc-e9e7ee4fa0d8.png">
 
 在场景 1 中,仅需要 TsFile、TsFileSync 部署在一台 PC 上,此外还需要部署 Hadoop/Spark 连接器用于数据中心端 Hadoop/Spark 集群的数据存储和分析。其示意图如上图所示。下图展示了此时的应用架构。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81768490-bf034f00-950d-11ea-9b56-fef3edca0958.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81768490-bf034f00-950d-11ea-9b56-fef3edca0958.png">
 
  * 场景 2
 
@@ -43,11 +43,11 @@
 
 此时可以采用 IoTDB 套件中的 IoTDB、TsFileSync 工具和 Hadoop/Spark 集成组件等。需要部署一个场控 PC 机,其上安装 IoTDB 和 TsFileSync 工具,用于支持读写数据、本地计算和分析以及上传数据到数据中心。此外还需要部署 Hadoop/Spark 连接器用于数据中心端 Hadoop/Spark 集群的数据存储和分析。如下图所示。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579033-7ed42380-1efa-11e9-889f-fb4180291a9e.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579033-7ed42380-1efa-11e9-889f-fb4180291a9e.png">
 
 下图给出了此时的应用架构。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579064-8f849980-1efa-11e9-8cd6-a7339cd0540f.jpg">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579064-8f849980-1efa-11e9-8cd6-a7339cd0540f.jpg">
 
  * 场景 3
 
@@ -57,11 +57,11 @@
 
 此时,可以采用 IoTDB 套件中的 IoTDB、IoTDB-Client 工具、TsFileSync 工具和 Hadoop/Spark 集成组件等。将 IoTDB 服务器安装在工厂连接外网的服务器上,用户接收机械手传输的数据并将数据上传到数据中心。将 IoTDB-Client 工具安装在每一个连接工厂内网的机械手上,用于将传感器产生的实时数据上传到工厂内部服务器。再使用 TsFileSync 工具将原始数据上传到数据中心。此外还需要部署 Hadoop/Spark 连接器用于数据中心端 Hadoop/Spark 集群的数据存储和分析。如下图中间场景所示。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579080-96aba780-1efa-11e9-87ac-940c45b19dd7.jpg">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579080-96aba780-1efa-11e9-87ac-940c45b19dd7.jpg">
 
 下图给出了此时的应用架构。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81768477-b874d780-950d-11ea-80ca-8807b9bd0970.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81768477-b874d780-950d-11ea-80ca-8807b9bd0970.png">
 
  * 场景 4
 
@@ -73,4 +73,4 @@
 
 此外还需要部署 Hadoop/Spark 集群用于数据中心端的数据存储和分析。如下图所示。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51579095-a4f9c380-1efa-11e9-9f95-17165ec55568.jpg">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51579095-a4f9c380-1efa-11e9-9f95-17165ec55568.jpg">
diff --git a/docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md b/docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md
index d3b7c3ef38..884b7c8139 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md
@@ -49,11 +49,11 @@ JMX_IP="the_real_iotdb_server_ip"  # 填写实际 IoTDB 的 IP 地址
 1. 确保安装 jdk 8。jdk 8 以上需要 [下载 visualvm](https://visualvm.github.io/download.html)
 2. 打开 jvisualvm
 3. 在左侧导航栏空白处右键 -> 添加 JMX 连接
-<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81462914-5738c580-91e8-11ea-94d1-4ff6607e7e2c.png">
+<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81462914-5738c580-91e8-11ea-94d1-4ff6607e7e2c.png">
 
 4. 填写信息进行登录,按下图分别填写,注意需要勾选”不要求 SSL 连接”。
 例如:
 连接:192.168.130.15:31999
 用户名:iotdb
 口令:passw!d
-<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/81462909-53a53e80-91e8-11ea-98df-0012380da0b2.png">
+<img style="width:100%; max-width:300px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/81462909-53a53e80-91e8-11ea-98df-0012380da0b2.png">
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md b/docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md
index ca905e4f11..bf43f2831f 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md
@@ -33,15 +33,15 @@ IoTDB 支持用户通过修改日志配置文件的方式对 IoTDB 系统日志
 
 本节以 Jconsole 为例介绍连接 JMX 并进入动态系统日志配置模块的方法。启动 Jconsole 控制页面,在新建连接处建立与 IoTDB Server 的 JMX 连接(可以选择本地进程或给定 IoTDB 的 IP 及 PORT 进行远程连接,IoTDB 的 JMX 服务默认运行端口为 31999),如下图使用远程进程连接 Localhost 下运行在 31999 端口的 IoTDB JMX 服务。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51577195-f94d7500-1ef3-11e9-999a-b4f67055d80e.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51577195-f94d7500-1ef3-11e9-999a-b4f67055d80e.png">
 
 连接到 JMX 后,您可以通过 MBean 选项卡找到名为`ch.qos.logback.classic`的`MBean`,如下图所示。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51577204-fe122900-1ef3-11e9-9e89-2eb1d46e24b8.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51577204-fe122900-1ef3-11e9-9e89-2eb1d46e24b8.png">
 
 在`ch.qos.logback.classic`的 MBean 操作(Operations)选项中,可以看到当前动态系统日志配置支持的 6 种接口,您可以通过使用相应的方法,来执行相应的操作,操作页面如图。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/51577216-09fdeb00-1ef4-11e9-9005-542ad7d9e9e0.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/51577216-09fdeb00-1ef4-11e9-9005-542ad7d9e9e0.png">
 
 #### 动态系统日志接口说明
 
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
index cef2152452..dff0425808 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -320,7 +320,7 @@ mem{name="mtree",} 1328.0
 
 IoTDB、Prometheus、Grafana三者的关系如下图所示:
 
-![iotdb_prometheus_grafana](/img/UserGuide/System-Tools/Metrics/iotdb_prometheus_grafana.png)
+![iotdb_prometheus_grafana](https://alioss.timecho.com/docs/img/UserGuide/System-Tools/Metrics/iotdb_prometheus_grafana.png)
 
 1. IoTDB在运行过程中持续收集监控指标数据。
 2. Prometheus以固定的间隔(可配置)从IoTDB的HTTP接口拉取监控指标数据。
@@ -358,7 +358,7 @@ static_configs:
 ### 1.4.3. Apache IoTDB Dashboard
 我们提供了Apache IoTDB Dashboard,在Grafana中显示的效果图如下所示:
 
-![Apache IoTDB Dashboard](/img/UserGuide/System-Tools/Metrics/dashboard.png)
+![Apache IoTDB Dashboard](https://alioss.timecho.com/docs/img/UserGuide/System-Tools/Metrics/dashboard.png)
 
 Apache IoTDB Dashboard的获取方式:
 
@@ -374,7 +374,7 @@ Apache IoTDB Dashboard的获取方式:
 通过使用 JConsole 工具并与 JMX 连接,您可以查看一些系统统计信息和参数。
 本节描述如何使用 JConsole 的 "Mbean" 选项卡来监视 IoTDB 的一些系统配置、写入数据统计等等。 连接到 JMX 后,您可以通过 "MBeans" 标签找到名为 "org.apache.iotdb.service" 的 "MBean",如下图所示。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/149951720-707f1ee8-32ee-4fde-9252-048caebd232e.png"> <br>
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/149951720-707f1ee8-32ee-4fde-9252-048caebd232e.png"> <br>
 
 # 4. 性能监控
 
@@ -382,7 +382,7 @@ Apache IoTDB Dashboard的获取方式:
 
 性能监控模块用来监控 IOTDB 每一个操作的耗时,以便用户更好的了解数据库的整体性能。此模块会统计每一种操作的平均耗时,以及耗时在一定时间区间内(1ms,4ms,16ms,64ms,256ms,1024ms,以上)的操作的比例。输出文件在 log_measure.log 中。输出样例如下:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/60937461-14296f80-a303-11e9-9602-a7bed624bfb3.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/60937461-14296f80-a303-11e9-9602-a7bed624bfb3.png">
 
 ## 4.2. 配置参数
 
@@ -403,4 +403,4 @@ Apache IoTDB Dashboard的获取方式:
 1. 通过端口 31999 连接 jconsole,并在上方菜单项中选择‘MBean’. 
 2. 展开侧边框并选择 'org.apache.iotdb.db.service'. 将会得到如下图所示结果:
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/112426760-73e3da80-8d73-11eb-9a8f-9232d1f2033b.png">
\ No newline at end of file
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/112426760-73e3da80-8d73-11eb-9a8f-9232d1f2033b.png">
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md b/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
index 8e05236c0a..f57a6374d2 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
@@ -50,7 +50,7 @@
 
 * 当 default_storage_group_level=2 时,将使用 root.turbine1.d1、root.turbine1.d2、root.turbine2.d1 和 root.turbine2.d2 作为存储组。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/UserGuide/Data-Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Data-Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
 
 ### 自动创建序列的元数据(前端指定数据类型)
 
diff --git a/docs/zh/UserGuide/Operate-Metadata/Timeseries.md b/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
index 8c7d3734af..872baf57ae 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
@@ -175,7 +175,7 @@ It costs 0.004s
 
 那么 Metadata Tree 如下所示:
 
-<img style="width:100%; max-width:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/69792176-1718f400-1201-11ea-861a-1a83c07ca144.jpg">
+<img style="width:100%; max-width:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/69792176-1718f400-1201-11ea-861a-1a83c07ca144.jpg">
 
 可以看到,`root`被定义为`LEVEL=0`。那么当你输入如下语句时:
 
diff --git a/docs/zh/UserGuide/Process-Data/Alerting.md b/docs/zh/UserGuide/Process-Data/Alerting.md
index 8b263772f7..5c512b53f6 100644
--- a/docs/zh/UserGuide/Process-Data/Alerting.md
+++ b/docs/zh/UserGuide/Process-Data/Alerting.md
@@ -371,4 +371,4 @@ INSERT INTO root.ln.wf01.wt01(timestamp, temperature) VALUES (5, 120);
 会抑制 `severity` 为 `warning` 的告警,我们收到的告警邮件中只包含写入
 `(5, 120)` 后触发的告警。                    
 
-<img  alt="alerting" src="/img/github/115957896-a9791080-a537-11eb-9962-541412bdcee6.png">
+<img  alt="alerting" src="https://alioss.timecho.com/docs/img/github/115957896-a9791080-a537-11eb-9962-541412bdcee6.png">
diff --git a/docs/zh/UserGuide/Process-Data/UDF-User-Defined-Function.md b/docs/zh/UserGuide/Process-Data/UDF-User-Defined-Function.md
index 43935b1c51..6e0c3c3674 100644
--- a/docs/zh/UserGuide/Process-Data/UDF-User-Defined-Function.md
+++ b/docs/zh/UserGuide/Process-Data/UDF-User-Defined-Function.md
@@ -166,7 +166,7 @@ void beforeStart(UDFParameters parameters, UDTFConfigurations configurations) th
 
 3 类参数的关系可见下图。策略的构造方法详见 Javadoc。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/99787878-47b51480-2b5b-11eb-8ed3-84088c5c30f7.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/99787878-47b51480-2b5b-11eb-8ed3-84088c5c30f7.png">
 
 注意,最后的一些时间窗口的实际时间间隔可能小于规定的时间间隔参数。另外,可能存在某些时间窗口内数据行数量为 0 的情况,这种情况框架也会为该窗口调用一次`transform`方法。
 
diff --git a/docs/zh/UserGuide/Query-Data/Aggregate-Query.md b/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
index 165cfcb76d..ead7829c3a 100644
--- a/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
+++ b/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
@@ -178,7 +178,7 @@ GROUP BY 语句为用户提供三类指定参数:
 
 三类参数的实际含义已经在下图中指出,这三类参数里,第三个参数是可选的。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="/img/github/69109512-f808bc80-0ab2-11ea-9e4d-b2b2f58fb474.png">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://alioss.timecho.com/docs/img/github/69109512-f808bc80-0ab2-11ea-9e4d-b2b2f58fb474.png">
 
 接下来,我们将给出三种典型的降频聚合查询的例子:
 
diff --git a/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md b/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
index fa775bbcf9..5647d8bd1a 100644
--- a/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
+++ b/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
@@ -116,49 +116,49 @@ Shell >./standalone.sh
 ```
 2、使用 https://ip:port/auth 登陆 keycloack, 首次登陆需要创建用户
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/login_keycloak.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/login_keycloak.png?raw=true)
 
 3、点击 Administration Console 进入管理端
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/AdministrationConsole.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/AdministrationConsole.png?raw=true)
 
 4、在左侧的 Master 菜单点击 add Realm, 输入 Name 创建一个新的 Realm
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_Realm_1.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_Realm_1.png?raw=true)
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_Realm_2.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_Realm_2.png?raw=true)
 
 5、点击左侧菜单 Clients,创建 client
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/client.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/client.png?raw=true)
 
 6、点击左侧菜单 User,创建 user
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/user.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/user.png?raw=true)
 
 7、点击新创建的用户 id,点击 Credentials 导航输入密码和关闭 Temporary 选项,至此 keyclork 配置完成
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/pwd.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/pwd.png?raw=true)
 
 8、创建角色,点击左侧菜单的 Roles然后点击Add Role 按钮添加角色
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
 
 9、在Role Name 中输入`iotdb_admin`,点击save 按钮。提示:这里的`iotdb_admin`不能为其他名称否则即使登陆成功后也将无权限使用iotdb的查询、插入、创建存储组、添加用户、角色等功能
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
 
 10、点击左侧的User 菜单然后点击用户列表中的Edit的按钮为该用户添加我们刚创建的`iotdb_admin`角色
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role3.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role3.png?raw=true)
 
 11、选择Role Mappings ,在Available Role选择`iotdb_admin`角色然后点Add selected 按钮添加角色
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role4.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role4.png?raw=true)
 
 12、如果`iotdb_admin`角色在Assigned Roles中并且出现`Success Role mappings updated`提示,证明角色添加成功
 
-![avatar](/img/UserGuide/CLI/Command-Line-Interface/add_role5.png?raw=true)
+![avatar](https://alioss.timecho.com/docs/img/UserGuide/CLI/Command-Line-Interface/add_role5.png?raw=true)
 
 提示:如果用户角色有调整需要重新生成token并且重新登陆iotdb才会生效
 
diff --git a/docs/zh/UserGuide/Reference/TSDB-Comparison.md b/docs/zh/UserGuide/Reference/TSDB-Comparison.md
index efd17378fc..67b7a1e134 100644
--- a/docs/zh/UserGuide/Reference/TSDB-Comparison.md
+++ b/docs/zh/UserGuide/Reference/TSDB-Comparison.md
@@ -23,7 +23,7 @@
 
 ### Overview
 
-![TSDB Comparison](/img/github/119833923-182ffc00-bf32-11eb-8b3f-9f95d3729ad2.png)
+![TSDB Comparison](https://alioss.timecho.com/docs/img/github/119833923-182ffc00-bf32-11eb-8b3f-9f95d3729ad2.png)
 
 **表格外观启发自 [Andriy Zabavskyy: How to Select Time Series DB](https://towardsdatascience.com/how-to-select-time-series-db-123b0eb4ab82)*
 
@@ -285,7 +285,7 @@ IoTDB 拥有许多其它时间序列数据库不支持的强大功能。
 
 写入吞吐率(points/second)如下图所示:
 
-<img src="/img/github/106254214-6cacbe80-6253-11eb-8532-d6a1829f8f66.png" alt="Batch Size with Write Throughput (points/second)"  />
+<img src="https://alioss.timecho.com/docs/img/github/106254214-6cacbe80-6253-11eb-8532-d6a1829f8f66.png" alt="Batch Size with Write Throughput (points/second)"  />
 
 <center>Figure 1. Batch Size with Write throughput (points/second) IoTDB v0.11.1</center>
 
@@ -295,7 +295,7 @@ client num 从 1 到 50 变化。IoTDB 使用 batch insertion API,batch size 
 
 写入吞吐率(points/second)如下图所示:
 
-![Client Num with Write Throughput (points/second) (ms)](/img/github/106251411-e5aa1700-624f-11eb-8ca8-00c0627b1e96.png)
+![Client Num with Write Throughput (points/second) (ms)](https://alioss.timecho.com/docs/img/github/106251411-e5aa1700-624f-11eb-8ca8-00c0627b1e96.png)
 
 <center>Figure 3. Client Num with Write Throughput (points/second) IoTDB v0.11.1</center>
 
@@ -309,19 +309,19 @@ client num 从 1 到 50 变化。IoTDB 使用 batch insertion API,batch size 
 
 测试结果如下图所示:
 
-![Raw data query 1 col](/img/github/106251377-daef8200-624f-11eb-9678-b1d5440be2de.png)
+![Raw data query 1 col](https://alioss.timecho.com/docs/img/github/106251377-daef8200-624f-11eb-9678-b1d5440be2de.png)
 
 <center>Figure 4. Raw data query 1 col time cost(ms) IoTDB v0.11.1</center>
 
-![Aggregation query](/img/github/106251336-cf03c000-624f-11eb-8395-de5e349f47b5.png)
+![Aggregation query](https://alioss.timecho.com/docs/img/github/106251336-cf03c000-624f-11eb-8395-de5e349f47b5.png)
 
 <center>Figure 5. Aggregation query time cost(ms) IoTDB v0.11.1</center>
 
-![Downsampling query](/img/github/106251353-d32fdd80-624f-11eb-80c1-fdb4197939fe.png)
+![Downsampling query](https://alioss.timecho.com/docs/img/github/106251353-d32fdd80-624f-11eb-80c1-fdb4197939fe.png)
 
 <center>Figure 6. Downsampling query time cost(ms) IoTDB v0.11.1</center>
 
-![Latest query](/img/github/106251369-d7f49180-624f-11eb-9d19-fc7341582b90.png)
+![Latest query](https://alioss.timecho.com/docs/img/github/106251369-d7f49180-624f-11eb-9d19-fc7341582b90.png)
 
 <center>Figure 7. Latest query time cost(ms) IoTDB v0.11.1</center>