import{_ as e,O as i,P as t,ah as n,aW as a}from"./framework-5638dcb2.js";const s={},r=a(`<h1 id="edge-cloud-collaboration" tabindex="-1"><a class="header-anchor" href="#edge-cloud-collaboration" aria-hidden="true">#</a> Edge-Cloud Collaboration</h1><h2 id="_1-introduction" tabindex="-1"><a class="header-anchor" href="#_1-introduction" aria-hidden="true">#</a> 1.Introduction</h2><p>The Sync Tool is an IoTDB suite tool that continuously uploads the timeseries data from the edge (sender) to the cloud(receiver).</p><p>On the sender side of the sync-tool, the sync module is embedded in the IoTDB engine. The receiver side of the sync-tool supports IoTDB (standalone/cluster).</p><p>You can use SQL commands to start or close a synchronization task at the sender, and you can check the status of the synchronization task at any time. At the receiving end, you can set the IP white list to specify the access IP address range of sender.</p><h2 id="_2-model-definition" tabindex="-1"><a class="header-anchor" href="#_2-model-definition" aria-hidden="true">#</a> 2.Model definition</h2><figure><img src="https://alioss.timecho.com/docs/img/UserGuide/System-Tools/Sync-Tool/pipe2.png" alt="pipe2.png" tabindex="0" loading="lazy"><figcaption>pipe2.png</figcaption></figure><p>Two machines A and B, which are installed with iotdb, we want to continuously synchronize the data from A to B. To better describe this process, we introduce the following concepts.</p><ul><li>Pipe <ul><li>It refers to a synchronization task. In the above case, we can see that there is a data flow pipeline connecting A and B.</li><li>A pipe has three states, RUNNING, STOP and DROP, which respectively indicate running, pause and permanent cancellation.</li></ul></li><li>PipeSink <ul><li>It refers to the receiving end. In the above case, pipesink is machine B. At present, the pipesink type only supports IoTDB, that is, the receiver is the IoTDB instance installed on B.</li><li>Pipeserver: when the type of pipesink is IoTDB, you need to open the pipeserver service of IoTDB to process the pipe data.</li></ul></li></ul><h2 id="_3-precautions-for-use" tabindex="-1"><a class="header-anchor" href="#_3-precautions-for-use" aria-hidden="true">#</a> 3.Precautions for Use</h2><ul><li>The sender side of the sync-tool currently supports IoTDB version 1.0 <strong>only if data_replication_factor is set to 1</strong>. The receiver side supports any IoTDB version 1.0 configuration</li><li>A normal Pipe has two states: RUNNING indicates that it is synchronizing data to the receiver, and STOP indicates that synchronization to the receiver is suspended.</li><li>When one or more senders send data to a receiver, there should be no intersection between the respective device path sets of these senders and receivers, otherwise unexpected errors may occur. <ul><li>e.g. When sender A includes path <code>root.sg.d.s</code>, sender B also includes the path <code>root.sg.d.s</code>, sender A deletes database <code>root.sg</code> will also delete all data of B stored in the path <code>root.sg.d.s</code> at receiver.</li></ul></li><li>The two &quot;ends&quot; do not support synchronization with each other.</li><li>The Sync Tool only synchronizes insertions. If no database is created on the receiver, a database of the same level as the sender will be automatically created. Currently, deletion operation is not guaranteed to be synchronized and do not support TTL settings, trigger and other operations. <ul><li>If TTL is set on the sender side, all unexpired data in the IoTDB and all future data writes and deletions will be synchronized to the receiver side when Pipe is started.</li></ul></li><li>When operating a synchronization task, ensure that all DataNode nodes in <code>SHOW DATANODES</code> that are in the Running state are connected, otherwise the execution will fail.</li></ul><h2 id="_4-quick-start" tabindex="-1"><a class="header-anchor" href="#_4-quick-start" aria-hidden="true">#</a> 4.Quick Start</h2><p>Execute the following SQL statements at the sender and receiver to quickly start a data synchronization task between two IoTDB. For complete SQL statements and configuration matters, please see the <code>parameter configuration</code>and <code>SQL</code> sections. For more usage examples, please refer to the <code>usage examples</code> section.</p><h3 id="_4-1-receiver" tabindex="-1"><a class="header-anchor" href="#_4-1-receiver" aria-hidden="true">#</a> 4.1 Receiver</h3><ul><li><p>Start sender IoTDB and receiver IoTDB.</p></li><li><p>Create a PipeSink with IoTDB type.</p></li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; CREATE PIPESINK central_iotdb AS IoTDB (ip=&#39;There is your goal IP&#39;, port=&#39;There is your goal port&#39;)
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Establish a Pipe (before creation, ensure that receiver IoTDB has been started).</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; CREATE PIPE my_pipe TO central_iotDB
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Start this Pipe.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; START PIPE my_pipe
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Show Pipe&#39;s status.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; SHOW PIPES
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Stop this Pipe.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; STOP PIPE my_pipe
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Continue this Pipe.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; START PIPE my_pipe
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Drop this Pipe (delete all information about this pipe).</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; DROP PIPE my_pipe
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="_5-parameter-configuration" tabindex="-1"><a class="header-anchor" href="#_5-parameter-configuration" aria-hidden="true">#</a> 5.Parameter Configuration</h2><p>All parameters are in <code>$IOTDB_ HOME$/conf/iotdb-common.properties</code>, after all modifications are completed, execute <code>load configuration</code> and it will take effect immediately.</p><h3 id="_5-1-sender" tabindex="-1"><a class="header-anchor" href="#_5-1-sender" aria-hidden="true">#</a> 5.1 Sender</h3><table><thead><tr><th><strong>Parameter Name</strong></th><th><strong>max_number_of_sync_file_retry</strong></th></tr></thead><tbody><tr><td>Description</td><td>The maximum number of retries when the sender fails to synchronize files to the receiver.</td></tr><tr><td>Data type</td><td>Int : [0,2147483647]</td></tr><tr><td>Default value</td><td>5</td></tr></tbody></table><h3 id="_5-2-receiver" tabindex="-1"><a class="header-anchor" href="#_5-2-receiver" aria-hidden="true">#</a> 5.2 Receiver</h3><table><thead><tr><th><strong>Parameter Name</strong></th><th><strong>ip_white_list</strong></th></tr></thead><tbody><tr><td>Description</td><td>Set the white list of IP addresses of the sender of the synchronization, which is expressed in the form of network segments, and multiple network segments are separated by commas. When the sender synchronizes data to the receiver, the receiver allows synchronization only when the IP address of the sender is within the network segment set in the white list. If the whitelist is empty, the receiver does not allow any sender to synchronize data. By default, the receiver rejects the synchronization request of all IP addresses except 127.0.0.1. When configuring this parameter, please ensure that all DataNode addresses on the sender are set.</td></tr><tr><td>Data type</td><td>String</td></tr><tr><td>Default value</td><td>127.0.0.1/32</td></tr></tbody></table><h2 id="_6-sql" tabindex="-1"><a class="header-anchor" href="#_6-sql" aria-hidden="true">#</a> 6.SQL</h2><h3 id="show-pipesinktype" tabindex="-1"><a class="header-anchor" href="#show-pipesinktype" aria-hidden="true">#</a> SHOW PIPESINKTYPE</h3><ul><li>Show all PipeSink types supported by IoTDB.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; SHOW PIPESINKTYPE
IoTDB&gt;
+-----+
| type|
+-----+
|IoTDB|
+-----+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="create-pipesink" tabindex="-1"><a class="header-anchor" href="#create-pipesink" aria-hidden="true">#</a> CREATE PIPESINK</h3><ul><li>Create a PipeSink with IoTDB type, where IP and port are optional parameters.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; CREATE PIPESINK &lt;PipeSinkName&gt; AS IoTDB [(ip=&#39;127.0.0.1&#39;,port=6667);]
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="drop-pipesink" tabindex="-1"><a class="header-anchor" href="#drop-pipesink" aria-hidden="true">#</a> DROP PIPESINK</h3><ul><li>Drop the pipesink with PipeSinkName parameter.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; DROP PIPESINK &lt;PipeSinkName&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="show-pipesink" tabindex="-1"><a class="header-anchor" href="#show-pipesink" aria-hidden="true">#</a> SHOW PIPESINK</h3><ul><li>Show all PipeSinks&#39; definition, the results set has three columns, name, PipeSink’s type and PipeSink‘s attributes.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; SHOW PIPESINKS
IoTDB&gt; SHOW PIPESINK [PipeSinkName]
IoTDB&gt; 
+-----------+-----+------------------------+
|       name| type|              attributes|
+-----------+-----+------------------------+
|my_pipesink|IoTDB|ip=&#39;127.0.0.1&#39;,port=6667|
+-----------+-----+------------------------+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="create-pipe" tabindex="-1"><a class="header-anchor" href="#create-pipe" aria-hidden="true">#</a> CREATE PIPE</h3><ul><li><p>Create a pipe.</p><ul><li>At present, the SELECT statement only supports <code>**</code> (i.e. data in all timeseries), the FROM statement only supports <code>root</code>, and the WHERE statement only supports the start time of the specified time. The start time can be specified in the form of yyyy-mm-dd HH:MM:SS or a timestamp.</li></ul></li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time&gt;=&#39;yyyy-mm-dd HH:MM:SS&#39; )]
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="stop-pipe" tabindex="-1"><a class="header-anchor" href="#stop-pipe" aria-hidden="true">#</a> STOP PIPE</h3><ul><li>Stop the Pipe with PipeName.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; STOP PIPE &lt;PipeName&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="start-pipe" tabindex="-1"><a class="header-anchor" href="#start-pipe" aria-hidden="true">#</a> START PIPE</h3><ul><li>Continue the Pipe with PipeName.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; START PIPE &lt;PipeName&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="drop-pipe" tabindex="-1"><a class="header-anchor" href="#drop-pipe" aria-hidden="true">#</a> DROP PIPE</h3><ul><li>Drop the pipe with PipeName(delete all information about this pipe).</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; DROP PIPE &lt;PipeName&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="show-pipe" tabindex="-1"><a class="header-anchor" href="#show-pipe" aria-hidden="true">#</a> SHOW PIPE</h3><blockquote><p>This statement can be executed on both senders and receivers.</p></blockquote><ul><li><p>Show all Pipe&#39;s status.</p><ul><li><p><code>create time</code>: the creation time of this pipe.</p></li><li><p><code>name</code>: the name of this pipe.</p></li><li><p><code>role</code>: the current role of this IoTDB in pipe, there are two possible roles.</p><ul><li>Sender, the current IoTDB is the synchronous sender</li><li>Receiver, the current IoTDB is the synchronous receiver</li></ul></li><li><p><code>remote</code>: information about the opposite end of the Pipe.</p><ul><li>When role is sender, the value of this field is the PipeSink name.</li><li>When role is receiver, the value of this field is the sender&#39;s IP.</li></ul></li><li><p><code>status</code>: the Pipe&#39;s status.</p></li><li><p><code>attributes</code>: the attributes of Pipe</p><ul><li>When role is sender, the value of this field is the synchronization start time of the Pipe and whether to synchronize the delete operation.</li><li>When role is receiver, the value of this field is the name of the database corresponding to the synchronization connection created on this DataNode.</li></ul></li><li><p><code>message</code>: the status message of this pipe. When pipe runs normally, this column is NORMAL. When an exception occurs, messages may appear in following two states.</p><ul><li>WARN, this indicates that a data loss or other error has occurred, but the pipe will remain running.</li><li>ERROR, This indicates a problem where the network connection works but the data cannot be transferred, for example, the IP of the sender is not in the whitelist of the receiver or the version of the sender is not compatible with that of the receiver.</li><li>When the ERROR status appears, it is recommended to check the DataNode logs after STOP PIPE, check the receiver configuration or network conditions, and then START PIPE again.</li></ul></li></ul></li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; SHOW PIPES
IoTDB&gt;
+-----------------------+--------+--------+-------------+---------+------------------------------------+-------+
|            create time|   name |    role|       remote|   status|                          attributes|message|
+-----------------------+--------+--------+-------------+---------+------------------------------------+-------+
|2022-03-30T20:58:30.689|my_pipe1|  sender|  my_pipesink|     STOP|SyncDelOp=false,DataStartTimestamp=0| NORMAL|
+-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ 
|2022-03-31T12:55:28.129|my_pipe2|receiver|192.168.11.11|  RUNNING|             Database=&#39;root.vehicle&#39;| NORMAL|
+-----------------------+--------+--------+-------------+---------+------------------------------------+-------+
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Show the pipe status with PipeName. When the PipeName is empty，it is the same with <code>Show PIPES</code>.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; SHOW PIPE [PipeName]
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="_7-usage-examples" tabindex="-1"><a class="header-anchor" href="#_7-usage-examples" aria-hidden="true">#</a> 7. Usage Examples</h2><h3 id="goal" tabindex="-1"><a class="header-anchor" href="#goal" aria-hidden="true">#</a> Goal</h3><ul><li>Create a synchronize task from sender IoTDB to receiver IoTDB.</li><li>Sender wants to synchronize the data after 2022-3-30 00:00:00.</li><li>Sender does not want to synchronize the deletions.</li><li>Receiver only wants to receive data from this sender(sender ip 192.168.0.1).</li></ul><h3 id="receiver" tabindex="-1"><a class="header-anchor" href="#receiver" aria-hidden="true">#</a> Receiver</h3><ul><li><code>vi conf/iotdb-common.properties</code> to config the parameters，set the IP white list to 192.168.0.1/32 to receive and only receive data from sender.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>####################
### PIPE Server Configuration
####################
# White IP list of Sync client.
# Please use the form of IPv4 network segment to present the range of IP, for example: 192.168.0.0/16
# If there are more than one IP segment, please separate them by commas
# The default is to reject all IP to sync except 0.0.0.0
# Datatype: String
ip_white_list=192.168.0.1/32
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="sender" tabindex="-1"><a class="header-anchor" href="#sender" aria-hidden="true">#</a> Sender</h3><ul><li>Create PipeSink with IoTDB type, input ip address 192.168.0.1, port 6667.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; CREATE PIPESINK my_iotdb AS IoTDB (IP=&#39;192.168.0.2&#39;，PORT=6667)
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Create Pipe connect to my_iotdb, input the start time 2022-03-30 00:00:00 in WHERE statments. The following two SQL statements are equivalent</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; CREATE PIPE p TO my_iotdb FROM (select ** from root where time&gt;=&#39;2022-03-30 00:00:00&#39;)
IoTDB&gt; CREATE PIPE p TO my_iotdb FROM (select ** from root where time&gt;= 1648569600000)
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Start the Pipe p</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; START PIPE p
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Show the status of pipe p.</li></ul><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; SHOW PIPE p
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="result-verification" tabindex="-1"><a class="header-anchor" href="#result-verification" aria-hidden="true">#</a> Result Verification</h3><p>Execute SQL on sender.</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>CREATE DATABASE root.vehicle;
CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE;
CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN;
CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE;
CREATE TIMESERIES root.vehicle.d1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;
insert into root.vehicle.d0(timestamp,s0) values(now(),10);
insert into root.vehicle.d0(timestamp,s0,s1) values(now(),12,&#39;12&#39;);
insert into root.vehicle.d0(timestamp,s1) values(now(),&#39;14&#39;);
insert into root.vehicle.d1(timestamp,s2) values(now(),16.0);
insert into root.vehicle.d1(timestamp,s2,s3) values(now(),18.0,true);
insert into root.vehicle.d1(timestamp,s3) values(now(),false);
flush;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Execute SELECT statements, the same results can be found on sender and receiver.</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; select ** from root.vehicle
+-----------------------------+------------------+------------------+------------------+------------------+
|             Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2|
+-----------------------------+------------------+------------------+------------------+------------------+
|2022-04-03T20:08:17.127+08:00|        10|       null|       null|       null|
|2022-04-03T20:08:17.358+08:00|        12|        12|       null|       null|
|2022-04-03T20:08:17.393+08:00|       null|        14|       null|       null|
|2022-04-03T20:08:17.538+08:00|       null|       null|       null|       16.0|
|2022-04-03T20:08:17.753+08:00|       null|       null|       true|       18.0|
|2022-04-03T20:08:18.263+08:00|       null|       null|       false|       null|
+-----------------------------+------------------+------------------+------------------+------------------+
Total line number = 6
It costs 0.134s
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_8-q-a" tabindex="-1"><a class="header-anchor" href="#_8-q-a" aria-hidden="true">#</a> 8.Q&amp;A</h2><ul><li><p>Execute <code>CREATE PIPESINK demo as IoTDB</code> get message <code>PIPESINK [demo] already exists in IoTDB.</code></p><ul><li>Cause by: Current PipeSink already exists</li><li>Solution: Execute <code>DROP PIPESINK demo</code> to drop PipeSink and recreate it.</li></ul></li><li><p>Execute <code>DROP PIPESINK pipesinkName</code> get message <code>Can not drop PIPESINK [demo], because PIPE [mypipe] is using it.</code></p><ul><li>Cause by: It is not allowed to delete PipeSink that is used by a running PIPE.</li><li>Solution: Execute <code>SHOW PIPE</code> on the sender side to stop using the PipeSink&#39;s PIPE.</li></ul></li><li><p>Execute <code>CREATE PIPE p to demo</code> get message <code>PIPE [p] is STOP, please retry after drop it.</code></p><ul><li>Cause by: Current Pipe already exists</li><li>Solution: Execute <code>DROP PIPE p</code> to drop Pipe and recreate it.</li></ul></li><li><p>Execute <code>CREATE PIPE p to demo</code> get message <code>Fail to create PIPE [p] because Connection refused on DataNode: {id=2, internalEndPoint=TEndPoint(ip:127.0.0.1, port:10732)}.</code></p><ul><li>Cause by: There are some DataNodes with the status Running cannot be connected.</li><li>Solution: Execute <code>SHOW DATANODES</code>, and check for unreachable DataNode networks, or wait for their status to change to Unknown and re-execute the statement.</li></ul></li><li><p>Execute <code>START PIPE p</code> get message <code>Fail to start PIPE [p] because Connection refused on DataNode: {id=2, internalEndPoint=TEndPoint(ip:127.0.0.1, port:10732)}.</code></p><ul><li>Cause by: There are some DataNodes with the status Running cannot be connected.</li><li>Solution: Execute <code>SHOW DATANODES</code>, and check for unreachable DataNode networks, or wait for their status to change to Unknown and re-execute the statement.</li></ul></li><li><p>Execute <code>STOP PIPE p</code> get message <code>Fail to stop PIPE [p] because Connection refused on DataNode: {id=2, internalEndPoint=TEndPoint(ip:127.0.0.1, port:10732)}.</code></p><ul><li>Cause by: There are some DataNodes with the status Running cannot be connected.</li><li>Solution: Execute <code>SHOW DATANODES</code>, and check for unreachable DataNode networks, or wait for their status to change to Unknown and re-execute the statement.</li></ul></li><li><p>Execute <code>DROP PIPE p</code> get message <code>Fail to DROP_PIPE because Fail to drop PIPE [p] because Connection refused on DataNode: {id=2, internalEndPoint=TEndPoint(ip:127.0.0.1, port:10732)}. Please execute [DROP PIPE p] later to retry.</code></p><ul><li>Cause by: There are some DataNodes with the status Running cannot be connected. Pipe has been deleted on some nodes and the status has been set to <em><strong>DROP</strong></em>.</li><li>Solution: Execute <code>SHOW DATANODES</code>, and check for unreachable DataNode networks, or wait for their status to change to Unknown and re-execute the statement.</li></ul></li><li><p>Sync.log prompts <code>org.apache.iotdb.commons.exception.IoTDBException: root.** already been created as database</code></p><ul><li>Cause by: The synchronization tool attempts to automatically create a database at the sender at the receiver. This is a normal phenomenon.</li><li>Solution: No intervention is required.</li></ul></li></ul>`,87);function o(d,l){return i(),t("div",null,[n(`

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

`),r])}const u=e(s,[["render",o],["__file","Sync-Tool.html.vue"]]);export{u as default};