blob: 0d20d48ab23eecbe598d372a9425cc6ca32f8871 [file] [log] [blame]
import{_ as n,c as a,b as e,o as l}from"./app-BWhNjvfs.js";const o={};function p(t,s){return l(),a("div",null,s[0]||(s[0]=[e(`<h1 id="health-check-tool" tabindex="-1"><a class="header-anchor" href="#health-check-tool"><span>Health Check Tool</span></a></h1><h2 id="_1-overview" tabindex="-1"><a class="header-anchor" href="#_1-overview"><span>1. Overview</span></a></h2><p>The IoTDB Health Check Tool is designed to inspect the runtime environment of IoTDB nodes. It assists users in verifying the node&#39;s environment both before deployment and during operation, providing detailed inspection reports.</p><blockquote><p>IoTDB version requirement: Must not be lower than v1.3.2</p></blockquote><h2 id="_2-prerequisites" tabindex="-1"><a class="header-anchor" href="#_2-prerequisites"><span>2. Prerequisites</span></a></h2><p>Linux Systems</p><ul><li><code>nc</code> (netcat) tool: Installed by default; user must have execution permissions.</li><li><code>lsof</code> or <code>netstat</code>: At least one must be installed; user must have execution permissions.</li></ul><blockquote><p>To verify tool installation:</p><p>Check <code>nc</code>: <code>nc -h</code></p><p>Check <code>lsof</code>: <code>lsof -v</code></p></blockquote><p>Windows Systems</p><ul><li>PowerShell: Enabled by default.</li></ul><h2 id="_3-inspection-items" tabindex="-1"><a class="header-anchor" href="#_3-inspection-items"><span>3. Inspection Items</span></a></h2><ul><li>Check port occupancy on the node&#39;s server (Windows/Linux).</li><li>Verify port connectivity between the current node and other cluster nodes (Windows/Linux).</li><li>Check JDK installation (JAVA_HOME) (Windows/Linux).</li><li>Inspect system memory allocation and IoTDB memory configuration (Windows/Linux).</li><li>Validate directory access permissions (Windows/Linux).</li><li>Ensure the system&#39;s maximum number of open files meets requirements (≥ 65535) (Linux only).</li><li>Confirm swap is disabled (Windows/Linux).</li></ul><h2 id="_4-usage-instructions" tabindex="-1"><a class="header-anchor" href="#_4-usage-instructions"><span>4. Usage Instructions</span></a></h2><h3 id="_4-1-command-format" tabindex="-1"><a class="header-anchor" href="#_4-1-command-format"><span>4.1 Command Format</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">health_check.sh/health_check.bat</span><span style="color:#D19A66;"> -ips</span><span style="color:#ABB2BF;"> &lt;</span><span style="color:#98C379;">Remote_IP+Port</span><span style="color:#ABB2BF;">s&gt; </span><span style="color:#D19A66;">-o</span><span style="color:#ABB2BF;"> &lt;</span><span style="color:#98C379;">all</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">default</span><span style="color:#ABB2BF;">)</span><span style="color:#98C379;">/remote/loca</span><span style="color:#ABB2BF;">l&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="_4-2-parameter-descriptions" tabindex="-1"><a class="header-anchor" href="#_4-2-parameter-descriptions"><span>4.2 Parameter Descriptions</span></a></h3><table><thead><tr><th><strong>Parameter</strong></th><th><strong>Description</strong></th><th>​<strong>Required</strong></th></tr></thead><tbody><tr><td><code>-ips</code></td><td>Remote server IPs and ports. Supports multiple servers. Format: <code>ip port1 port2, ip2 port2-1 port2-2</code></td><td>Optional</td></tr><tr><td><code>-o</code></td><td>Scope of check: <code>local</code> (local machine), <code>remote</code> (remote server ports), <code>all</code> (both). Default: <code>all</code></td><td>Optional</td></tr></tbody></table><h2 id="_5-usage-examples" tabindex="-1"><a class="header-anchor" href="#_5-usage-examples"><span>5. Usage Examples</span></a></h2><h3 id="_5-1-example-1-check-all" tabindex="-1"><a class="header-anchor" href="#_5-1-example-1-check-all"><span>5.1 Example 1: Check All</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;"> health_check.sh/health_check.bat</span><span style="color:#D19A66;"> -ips</span><span style="color:#D19A66;"> 172.20.31.19</span><span style="color:#D19A66;"> 6667</span><span style="color:#98C379;"> 18080,10.0.6.230</span><span style="color:#D19A66;"> 10311</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Installation</span><span style="color:#98C379;"> Environment</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">JDK</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> JDK</span><span style="color:#98C379;"> Version</span><span style="color:#ABB2BF;"> &gt;</span><span style="color:#98C379;">=</span><span style="color:#D19A66;">1.8</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#98C379;"> JDK</span><span style="color:#98C379;"> Version</span><span style="color:#D19A66;"> 11.0.21</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Installation</span><span style="color:#98C379;"> Environment</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Memory</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> Allocate</span><span style="color:#98C379;"> sufficient</span><span style="color:#98C379;"> memory</span><span style="color:#98C379;"> for</span><span style="color:#98C379;"> IoTDB</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#98C379;"> Total</span><span style="color:#98C379;"> Memory</span><span style="color:#98C379;"> 7.8Gi,</span><span style="color:#D19A66;"> 2.33</span><span style="color:#98C379;"> G</span><span style="color:#98C379;"> allocated</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> IoTDB</span><span style="color:#98C379;"> ConfigNode,</span><span style="color:#D19A66;"> 3.88</span><span style="color:#98C379;"> G</span><span style="color:#98C379;"> allocated</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> IoTDB</span><span style="color:#98C379;"> DataNode</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Installation</span><span style="color:#98C379;"> Environment</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Directory</span><span style="color:#98C379;"> Access</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> IoTDB</span><span style="color:#98C379;"> needs</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permissions</span><span style="color:#98C379;"> for</span><span style="color:#98C379;"> data/datanode/data,</span><span style="color:#98C379;"> data/datanode/consensus,</span><span style="color:#98C379;"> data/datanode/system,</span><span style="color:#98C379;"> data/datanode/wal,</span><span style="color:#98C379;"> data/confignode/system,</span><span style="color:#98C379;"> data/confignode/consensus,</span><span style="color:#98C379;"> ext/pipe,</span><span style="color:#98C379;"> ext/udf,</span><span style="color:#98C379;"> ext/trigger.</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/data</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/consensus</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/system</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/wal</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/confignode/system</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/confignode/consensus</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">ext/pipe</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">ext/udf</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">ext/trigger</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Network</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Local</span><span style="color:#98C379;"> Port</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> Ports</span><span style="color:#98C379;"> 16668,</span><span style="color:#98C379;"> 10730,</span><span style="color:#98C379;"> 11742,</span><span style="color:#98C379;"> 10750,</span><span style="color:#98C379;"> 10760,</span><span style="color:#98C379;"> 10710,</span><span style="color:#D19A66;"> 10720</span><span style="color:#98C379;"> must</span><span style="color:#98C379;"> be</span><span style="color:#98C379;"> unoccupied</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span></span>
<span class="line"><span style="color:#61AFEF;">Ports</span><span style="color:#98C379;"> 16668,</span><span style="color:#98C379;"> 10730,</span><span style="color:#98C379;"> 11742,</span><span style="color:#98C379;"> 10750,</span><span style="color:#98C379;"> 10760,</span><span style="color:#98C379;"> 10710,</span><span style="color:#D19A66;"> 10720</span><span style="color:#98C379;"> are</span><span style="color:#98C379;"> free</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Network</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Remote</span><span style="color:#98C379;"> Port</span><span style="color:#98C379;"> Connectivity</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> 172.20.31.19:6667,</span><span style="color:#D19A66;"> 18080</span><span style="color:#98C379;"> and</span><span style="color:#98C379;"> 10.0.6.230:10311</span><span style="color:#98C379;"> must</span><span style="color:#98C379;"> be</span><span style="color:#98C379;"> accessible</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span></span>
<span class="line"><span style="color:#61AFEF;">Inaccessible</span><span style="color:#98C379;"> server</span><span style="color:#98C379;"> ports:</span></span>
<span class="line"><span style="color:#61AFEF;">IP:</span><span style="color:#98C379;"> 10.0.6.230,</span><span style="color:#98C379;"> Ports:</span><span style="color:#D19A66;"> 10311</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> System</span><span style="color:#98C379;"> Settings</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Maximum</span><span style="color:#98C379;"> Open</span><span style="color:#98C379;"> Files</span><span style="color:#98C379;"> Number</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#ABB2BF;"> &gt;</span><span style="color:#98C379;">=</span><span style="color:#D19A66;"> 65535</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#D19A66;"> 65535</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> System</span><span style="color:#98C379;"> Settings</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Swap</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> Disabled</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#98C379;"> Disabled.</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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 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 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><h3 id="_5-2-example-2-local-check" tabindex="-1"><a class="header-anchor" href="#_5-2-example-2-local-check"><span>5.2 Example 2: Local Check</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">health_check.sh/health_check.bat</span><span style="color:#D19A66;"> -o</span><span style="color:#98C379;"> local</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Installation</span><span style="color:#98C379;"> Environment</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">JDK</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> JDK</span><span style="color:#98C379;"> Version</span><span style="color:#ABB2BF;"> &gt;</span><span style="color:#98C379;">=</span><span style="color:#D19A66;">1.8</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#98C379;"> JDK</span><span style="color:#98C379;"> Version</span><span style="color:#D19A66;"> 11.0.21</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Installation</span><span style="color:#98C379;"> Environment</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Memory</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> Allocate</span><span style="color:#98C379;"> sufficient</span><span style="color:#98C379;"> memory</span><span style="color:#98C379;"> for</span><span style="color:#98C379;"> IoTDB</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#98C379;"> Total</span><span style="color:#98C379;"> Memory</span><span style="color:#98C379;"> 7.8Gi,</span><span style="color:#D19A66;"> 2.33</span><span style="color:#98C379;"> G</span><span style="color:#98C379;"> allocated</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> IoTDB</span><span style="color:#98C379;"> ConfigNode,</span><span style="color:#D19A66;"> 3.88</span><span style="color:#98C379;"> G</span><span style="color:#98C379;"> allocated</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> IoTDB</span><span style="color:#98C379;"> DataNode</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Installation</span><span style="color:#98C379;"> Environment</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Directory</span><span style="color:#98C379;"> Access</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> IoTDB</span><span style="color:#98C379;"> needs</span><span style="color:#98C379;"> data/datanode/data,data/datanode/consensus,data/datanode/system,data/datanode/wal,data/confignode/system,data/confignode/consensus,ext/pipe,ext/udf,ext/trigger</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission.</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#ABB2BF;"> </span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/data</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/consensus</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/system</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/datanode/wal</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/confignode/system</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">data/confignode/consensus</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">ext/pipe</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">ext/udf</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"><span style="color:#61AFEF;">ext/trigger</span><span style="color:#98C379;"> has</span><span style="color:#98C379;"> write</span><span style="color:#98C379;"> permission</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Network</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Local</span><span style="color:#98C379;"> Port</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> Port</span><span style="color:#D19A66;"> 16668</span><span style="color:#D19A66;"> 10730</span><span style="color:#D19A66;"> 11742</span><span style="color:#D19A66;"> 10750</span><span style="color:#D19A66;"> 10760</span><span style="color:#D19A66;"> 10710</span><span style="color:#D19A66;"> 10720</span><span style="color:#98C379;"> is</span><span style="color:#98C379;"> not</span><span style="color:#98C379;"> occupied</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#ABB2BF;"> </span></span>
<span class="line"><span style="color:#61AFEF;">Port</span><span style="color:#D19A66;"> 16668</span><span style="color:#D19A66;"> 10730</span><span style="color:#D19A66;"> 11742</span><span style="color:#D19A66;"> 10750</span><span style="color:#D19A66;"> 10760</span><span style="color:#D19A66;"> 10710</span><span style="color:#D19A66;"> 10720</span><span style="color:#98C379;"> is</span><span style="color:#98C379;"> free</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> System</span><span style="color:#98C379;"> Settings</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Maximum</span><span style="color:#98C379;"> Open</span><span style="color:#98C379;"> Files</span><span style="color:#98C379;"> Number</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#ABB2BF;"> &gt;</span><span style="color:#98C379;">=</span><span style="color:#D19A66;"> 65535</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#D19A66;"> 65535</span></span>
<span class="line"></span>
<span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> System</span><span style="color:#98C379;"> Settings</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Swap</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> disabled</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span><span style="color:#98C379;"> disabled.</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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 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 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="_5-3-example-3-remote-check" tabindex="-1"><a class="header-anchor" href="#_5-3-example-3-remote-check"><span>5.3 Example 3: Remote Check</span></a></h3><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">health_check.sh/health_check.bat</span><span style="color:#D19A66;"> -o</span><span style="color:#98C379;"> remote</span><span style="color:#D19A66;"> -ips</span><span style="color:#D19A66;"> 172.20.31.19</span><span style="color:#D19A66;"> 6667</span><span style="color:#98C379;"> 18080,10.0.6.230</span><span style="color:#D19A66;"> 10311</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output:</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">Check:</span><span style="color:#98C379;"> Network</span><span style="color:#ABB2BF;">(</span><span style="color:#61AFEF;">Remote</span><span style="color:#98C379;"> Port</span><span style="color:#98C379;"> Connectivity</span><span style="color:#ABB2BF;">)</span></span>
<span class="line"><span style="color:#61AFEF;">Requirement:</span><span style="color:#98C379;"> 172.20.31.19:6667,</span><span style="color:#D19A66;"> 18080</span><span style="color:#98C379;"> and</span><span style="color:#98C379;"> 10.0.6.230:10311</span><span style="color:#98C379;"> must</span><span style="color:#98C379;"> be</span><span style="color:#98C379;"> accessible</span></span>
<span class="line"><span style="color:#61AFEF;">Result:</span></span>
<span class="line"><span style="color:#61AFEF;">Inaccessible</span><span style="color:#98C379;"> server</span><span style="color:#98C379;"> ports:</span></span>
<span class="line"><span style="color:#61AFEF;">IP:</span><span style="color:#98C379;"> 10.0.6.230,</span><span style="color:#98C379;"> Ports:</span><span style="color:#D19A66;"> 10311</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="_6-faqs" tabindex="-1"><a class="header-anchor" href="#_6-faqs"><span>6. FAQs</span></a></h2><h3 id="_6-1-how-to-adjust-memory-allocation" tabindex="-1"><a class="header-anchor" href="#_6-1-how-to-adjust-memory-allocation"><span>6.1 How to Adjust Memory Allocation</span></a></h3><ul><li>Modify MEMORY_SIZE in <code>confignode-env.sh</code>.</li><li>Modify MEMORY_SIZE in <code>datanode-env.sh</code>.</li></ul><h3 id="_6-2-how-to-modify-max-open-files-limit" tabindex="-1"><a class="header-anchor" href="#_6-2-how-to-modify-max-open-files-limit"><span>6.2 How to Modify Max Open Files Limit</span></a></h3><ul><li>To avoid &quot;too many open files&quot; errors:</li></ul><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Check current limit</span></span>
<span class="line"><span style="color:#56B6C2;">ulimit</span><span style="color:#D19A66;"> -n</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Temporarily set</span></span>
<span class="line"><span style="color:#56B6C2;">ulimit</span><span style="color:#D19A66;"> -n</span><span style="color:#D19A66;"> 65535</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Permanently set</span></span>
<span class="line"><span style="color:#56B6C2;">echo</span><span style="color:#98C379;"> &quot;* soft nofile 65535&quot;</span><span style="color:#ABB2BF;"> &gt;&gt; </span><span style="color:#98C379;">/etc/security/limits.conf</span></span>
<span class="line"><span style="color:#56B6C2;">echo</span><span style="color:#98C379;"> &quot;* hard nofile 65535&quot;</span><span style="color:#ABB2BF;"> &gt;&gt; </span><span style="color:#98C379;">/etc/security/limits.conf</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Verify after re-login</span></span>
<span class="line"><span style="color:#56B6C2;">ulimit</span><span style="color:#D19A66;"> -n</span><span style="color:#7F848E;font-style:italic;"> # Should return 65535</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="_6-3-how-to-disable-swap-and-why" tabindex="-1"><a class="header-anchor" href="#_6-3-how-to-disable-swap-and-why"><span>6.3 How to Disable Swap and Why</span></a></h3><ul><li><p>Why Disable:<br> IoTDB performance degrades when using swap.</p></li><li><p>Steps:</p></li></ul><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Disable swap</span></span>
<span class="line"><span style="color:#56B6C2;">echo</span><span style="color:#98C379;"> &quot;vm.swappiness = 0&quot;</span><span style="color:#ABB2BF;"> &gt;&gt; </span><span style="color:#98C379;">/etc/sysctl.conf</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Clear swap data and reload</span></span>
<span class="line"><span style="color:#61AFEF;">swapoff</span><span style="color:#D19A66;"> -a</span><span style="color:#ABB2BF;"> &amp;&amp; </span><span style="color:#61AFEF;">swapon</span><span style="color:#D19A66;"> -a</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Apply settings without reboot</span></span>
<span class="line"><span style="color:#61AFEF;">sysctl</span><span style="color:#D19A66;"> -p</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"># Verify swap is 0</span></span>
<span class="line"><span style="color:#61AFEF;">free</span><span style="color:#D19A66;"> -m</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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>`,39)]))}const c=n(o,[["render",p],["__file","Health-Check-Tool.html.vue"]]),r=JSON.parse(`{"path":"/UserGuide/dev-1.3/Tools-System/Health-Check-Tool.html","title":"Health Check Tool","lang":"en-US","frontmatter":{"description":"Health Check Tool 1. Overview The IoTDB Health Check Tool is designed to inspect the runtime environment of IoTDB nodes. It assists users in verifying the node's environment bot...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/dev-1.3/Tools-System/Health-Check-Tool.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/dev-1.3/Tools-System/Health-Check-Tool.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"Health Check Tool"}],["meta",{"property":"og:description","content":"Health Check Tool 1. Overview The IoTDB Health Check Tool is designed to inspect the runtime environment of IoTDB nodes. It assists users in verifying the node's environment bot..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-03-13T01:57:36.000Z"}],["meta",{"property":"article:modified_time","content":"2025-03-13T01:57:36.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Health Check Tool\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-03-13T01:57:36.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"1. Overview","slug":"_1-overview","link":"#_1-overview","children":[]},{"level":2,"title":"2. Prerequisites","slug":"_2-prerequisites","link":"#_2-prerequisites","children":[]},{"level":2,"title":"3. Inspection Items","slug":"_3-inspection-items","link":"#_3-inspection-items","children":[]},{"level":2,"title":"4. Usage Instructions","slug":"_4-usage-instructions","link":"#_4-usage-instructions","children":[{"level":3,"title":"4.1 Command Format","slug":"_4-1-command-format","link":"#_4-1-command-format","children":[]},{"level":3,"title":"4.2 Parameter Descriptions","slug":"_4-2-parameter-descriptions","link":"#_4-2-parameter-descriptions","children":[]}]},{"level":2,"title":"5. Usage Examples","slug":"_5-usage-examples","link":"#_5-usage-examples","children":[{"level":3,"title":"5.1 Example 1: Check All","slug":"_5-1-example-1-check-all","link":"#_5-1-example-1-check-all","children":[]},{"level":3,"title":"5.2 Example 2: Local Check","slug":"_5-2-example-2-local-check","link":"#_5-2-example-2-local-check","children":[]},{"level":3,"title":"5.3 Example 3: Remote Check","slug":"_5-3-example-3-remote-check","link":"#_5-3-example-3-remote-check","children":[]}]},{"level":2,"title":"6. FAQs","slug":"_6-faqs","link":"#_6-faqs","children":[{"level":3,"title":"6.1 How to Adjust Memory Allocation","slug":"_6-1-how-to-adjust-memory-allocation","link":"#_6-1-how-to-adjust-memory-allocation","children":[]},{"level":3,"title":"6.2 How to Modify Max Open Files Limit","slug":"_6-2-how-to-modify-max-open-files-limit","link":"#_6-2-how-to-modify-max-open-files-limit","children":[]},{"level":3,"title":"6.3 How to Disable Swap and Why","slug":"_6-3-how-to-disable-swap-and-why","link":"#_6-3-how-to-disable-swap-and-why","children":[]}]}],"git":{"createdTime":1741831056000,"updatedTime":1741831056000,"contributors":[{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":1,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":2.74,"words":821},"filePathRelative":"UserGuide/dev-1.3/Tools-System/Health-Check-Tool.md","localizedDate":"March 13, 2025","autoDesc":true}`);export{c as comp,r as data};