blob: b3c57081c2a692bda91099a1a6b4f9c9eac3b216 [file] [log] [blame]
import{_ as o,r as p,o as l,c as i,b as n,d as s,a as e,e as t}from"./app-Bp5kEZWW.js";const c={},r=t(`<h1 id="运维工具" tabindex="-1"><a class="header-anchor" href="#运维工具"><span>运维工具</span></a></h1><h2 id="集群版部署" tabindex="-1"><a class="header-anchor" href="#集群版部署"><span>集群版部署</span></a></h2><h3 id="集群管理工具部署" tabindex="-1"><a class="header-anchor" href="#集群管理工具部署"><span>集群管理工具部署</span></a></h3><p>IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。</p><h4 id="部署集群管理工具" tabindex="-1"><a class="header-anchor" href="#部署集群管理工具"><span>部署集群管理工具</span></a></h4><h5 id="环境依赖" tabindex="-1"><a class="header-anchor" href="#环境依赖"><span>环境依赖</span></a></h5><p>IoTDB 要部署的机器需要依赖jdk 8及以上版本、lsof 或者 netstat、unzip功能如果没有请自行安装,可以参考文档最后的一节环境所需安装命令。</p><p>提示:IoTDB集群管理工具需要使用具有root权限的账号</p><h5 id="部署方法" tabindex="-1"><a class="header-anchor" href="#部署方法"><span>部署方法</span></a></h5><h6 id="下载安装" tabindex="-1"><a class="header-anchor" href="#下载安装"><span>下载安装</span></a></h6><p>本工具为TimechoDB(基于IoTDB的企业版数据库)配套工具,您可以联系您的销售获取工具下载方式。</p><p>注意:由于二进制包仅支持GLIBC2.17 及以上版本,因此最低适配Centos7版本</p><ul><li>在在iotd目录内输入以下指令后:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token function">bash</span> install-iotd.sh
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>即可在之后的 shell 内激活 iotd 关键词,如检查部署前所需的环境指令如下所示:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster check example
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>也可以不激活iotd直接使用 &lt;iotd absolute path&gt;/sbin/iotd 来执行命令,如检查部署前所需的环境:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="token operator">&lt;</span>iotd absolute path<span class="token operator">&gt;</span>/sbin/iotd cluster check example
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="集群配置文件介绍" tabindex="-1"><a class="header-anchor" href="#集群配置文件介绍"><span>集群配置文件介绍</span></a></h4><ul><li>在<code>iotd/config</code> 目录下有集群配置的yaml文件,yaml文件名字就是集群名字yaml 文件可以有多个,为了方便用户配置yaml文件在iotd/config目录下面提供了<code>default_cluster.yaml</code>示例。</li><li>yaml 文件配置由<code>global</code>、<code>confignode_servers</code>、<code>datanode_servers</code>、<code>grafana_servers</code>(功能待开发)四大部分组成</li><li>global 是通用配置主要配置机器用户名密码、IoTDB本地安装文件、Jdk配置等。在<code>iotd/config</code>目录中提供了一个<code>default_cluster.yaml</code>样例数据,<br> 用户可以复制修改成自己集群名字并参考里面的说明进行配置iotdb集群,在<code>default_cluster.yaml</code>样例中没有注释的均为必填项,已经注释的为非必填项。</li></ul><p>例如要执行<code>default_cluster.yaml</code>检查命令则需要执行命令<code>iotd cluster check default_cluster</code>即可,<br> 更多详细命令请参考下面命令列表。</p>`,21),d=n("thead",null,[n("tr",null,[n("th",null,"参数"),n("th",null,"说明"),n("th",null,"是否必填")])],-1),u=n("tr",null,[n("td",null,"iotdb_zip_dir"),n("td",null,[s("IoTDB 部署分发目录,如果值为空则从"),n("code",null,"iotdb_download_url"),s("指定地址下载")]),n("td",null,"非必填")],-1),k=n("tr",null,[n("td",null,"iotdb_download_url"),n("td",null,[s("IoTDB 下载地址,如果"),n("code",null,"iotdb_zip_dir"),s(" 没有值则从指定地址下载")]),n("td",null,"非必填")],-1),b=n("tr",null,[n("td",null,"jdk_tar_dir"),n("td",null,"jdk 本地目录,可使用该 jdk 路径进行上传部署至目标节点。"),n("td",null,"非必填")],-1),m=n("tr",null,[n("td",null,"jdk_deploy_dir"),n("td",null,[s("jdk 远程机器部署目录,会将 jdk 部署到目标节点该文件夹下最终部署完成的路径是"),n("code",null,"<jdk_deploy_dir>/jdk_iotdb")]),n("td",null,"非必填")],-1),v=n("tr",null,[n("td",null,"iotdb_lib_dir"),n("td",null,"IoTDB lib 目录或者IoTDB 的lib 压缩包仅支持.zip格式 ,仅用于IoTDB升级,默认处于注释状态,如需升级请打开注释"),n("td",null,"非必填")],-1),h=n("tr",null,[n("td",null,"user"),n("td",null,"ssh登陆部署机器的用户名"),n("td",null,"必填")],-1),g=n("tr",null,[n("td",null,"password"),n("td",null,"ssh登录的密码, 如果password未指定使用pkey登陆, 请确保已配置节点之间ssh登录免密钥"),n("td",null,"非必填")],-1),f=n("tr",null,[n("td",null,"pkey"),n("td",null,"密钥登陆如果password 有值优先使用password否则使用pkey登陆"),n("td",null,"非必填")],-1),_=n("tr",null,[n("td",null,"ssh_port"),n("td",null,"ssh登录端口"),n("td",null,"必填")],-1),T=n("tr",null,[n("td",null,"deploy_dir"),n("td",null,[s("iotdb 部署目录,会把 iotdb 部署到目标节点该文件夹下最终部署完成的路径是"),n("code",null,"<deploy_dir>/iotdb")]),n("td",null,"必填")],-1),x={href:"http://datanode-env.sh",target:"_blank",rel:"noopener noreferrer"},y=n("td",null,[s("对应"),n("code",null,"iotdb/config/datanode-env.sh")],-1),D=n("td",null,"非必填",-1),I={href:"http://confignode-env.sh",target:"_blank",rel:"noopener noreferrer"},N=n("td",null,[s("对应"),n("code",null,"iotdb/config/confignode-env.sh")],-1),B=n("td",null,"非必填",-1),F=n("tr",null,[n("td",null,"iotdb-common.properties"),n("td",null,[s("对应"),n("code",null,"iotdb/config/iotdb-common.properties")]),n("td",null,"非必填")],-1),C=n("tr",null,[n("td",null,"cn_target_config_node_list"),n("td",null,[s("集群配置地址指向存活的ConfigNode,默认指向confignode_x,在"),n("code",null,"global"),s("与"),n("code",null,"confignode_servers"),s("同时配置值时优先使用"),n("code",null,"confignode_servers"),s("中的值,对应"),n("code",null,"iotdb/config/iotdb-confignode.properties"),s("中的"),n("code",null,"cn_target_config_node_list")]),n("td",null,"必填")],-1),S=n("tr",null,[n("td",null,"dn_target_config_node_list"),n("td",null,[s("集群配置地址指向存活的ConfigNode,默认指向confignode_x,在"),n("code",null,"global"),s("与"),n("code",null,"datanode_servers"),s("同时配置值时优先使用"),n("code",null,"datanode_servers"),s("中的值,对应"),n("code",null,"iotdb/config/iotdb-datanode.properties"),s("中的"),n("code",null,"dn_target_config_node_list")]),n("td",null,"必填")],-1),V=t('<ul><li>confignode_servers 是部署IoTDB Confignodes配置,里面可以配置多个Confignode<br> 默认将第一个启动的ConfigNode节点node1当作Seed-ConfigNode</li></ul><table><thead><tr><th>参数</th><th>说明</th><th>是否必填</th></tr></thead><tbody><tr><td>name</td><td>Confignode 名称</td><td>必填</td></tr><tr><td>deploy_dir</td><td>IoTDB config node 部署目录,注:该目录不能与下面的IoTDB data node部署目录相同</td><td>必填|</td></tr><tr><td>iotdb-confignode.properties</td><td>对应<code>iotdb/config/iotdb-confignode.properties</code>更加详细请参看<code>iotdb-confignode.properties</code>文件说明</td><td>非必填</td></tr><tr><td>cn_internal_address</td><td>对应iotdb/内部通信地址,对应<code>iotdb/config/iotdb-confignode.properties</code>中的<code>cn_internal_address</code></td><td>必填</td></tr><tr><td>cn_target_config_node_list</td><td>集群配置地址指向存活的ConfigNode,默认指向confignode_x,在<code>global</code>与<code>confignode_servers</code>同时配置值时优先使用<code>confignode_servers</code>中的值,对应<code>iotdb/config/iotdb-confignode.properties</code>中的<code>cn_target_config_node_list</code></td><td>必填</td></tr><tr><td>cn_internal_port</td><td>内部通信端口,对应<code>iotdb/config/iotdb-confignode.properties</code>中的<code>cn_internal_port</code></td><td>必填</td></tr><tr><td>cn_consensus_port</td><td>对应<code>iotdb/config/iotdb-confignode.properties</code>中的<code>cn_consensus_port</code></td><td>非必填</td></tr><tr><td>cn_data_dir</td><td>对应<code>iotdb/config/iotdb-confignode.properties</code>中的<code>cn_data_dir</code></td><td>必填</td></tr><tr><td>iotdb-common.properties</td><td>对应<code>iotdb/config/iotdb-common.properties</code>在<code>global</code>与<code>confignode_servers</code>同时配置值优先使用confignode_servers中的值</td><td>非必填</td></tr></tbody></table><ul><li>datanode_servers 是部署IoTDB Datanodes配置,里面可以配置多个Datanode</li></ul><table><thead><tr><th>参数</th><th>说明</th><th>是否必填</th></tr></thead><tbody><tr><td>name</td><td>Datanode 名称</td><td>必填</td></tr><tr><td>deploy_dir</td><td>IoTDB data node 部署目录,注:该目录不能与下面的IoTDB config node部署目录相同</td><td>必填</td></tr><tr><td>iotdb-datanode.properties</td><td>对应<code>iotdb/config/iotdb-datanode.properties</code>更加详细请参看<code>iotdb-datanode.properties</code>文件说明</td><td>非必填</td></tr><tr><td>dn_rpc_address</td><td>datanode rpc 地址对应<code>iotdb/config/iotdb-datanode.properties</code>中的<code>dn_rpc_address</code></td><td>必填</td></tr><tr><td>dn_internal_address</td><td>内部通信地址,对应<code>iotdb/config/iotdb-datanode.properties</code>中的<code>dn_internal_address</code></td><td>必填</td></tr><tr><td>dn_target_config_node_list</td><td>集群配置地址指向存活的ConfigNode,默认指向confignode_x,在<code>global</code>与<code>datanode_servers</code>同时配置值时优先使用<code>datanode_servers</code>中的值,对应<code>iotdb/config/iotdb-datanode.properties</code>中的<code>dn_target_config_node_list</code></td><td>必填</td></tr><tr><td>dn_rpc_port</td><td>datanode rpc端口地址,对应<code>iotdb/config/iotdb-datanode.properties</code>中的<code>dn_rpc_port</code></td><td>必填</td></tr><tr><td>dn_internal_port</td><td>内部通信端口,对应<code>iotdb/config/iotdb-datanode.properties</code>中的<code>dn_internal_port</code></td><td>必填</td></tr><tr><td>iotdb-common.properties</td><td>对应<code>iotdb/config/iotdb-common.properties</code>在<code>global</code>与<code>datanode_servers</code>同时配置值优先使用<code>datanode_servers</code>中的值</td><td>非必填</td></tr></tbody></table><ul><li>grafana_servers 是部署Grafana 相关配置<br> 该模块暂不支持</li></ul><p>注意:如何配置yaml key对应的值包含特殊字符如:等建议整个value使用双引号,对应的文件路径中不要使用包含空格的路径,防止出现识别出现异常问题。</p><h4 id="命令格式" tabindex="-1"><a class="header-anchor" href="#命令格式"><span>命令格式</span></a></h4><p>本工具的基本用法为:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster <span class="token operator">&lt;</span>key<span class="token operator">&gt;</span> <span class="token operator">&lt;</span>cluster name<span class="token operator">&gt;</span> <span class="token punctuation">[</span>params <span class="token punctuation">(</span>Optional<span class="token punctuation">)</span><span class="token punctuation">]</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>key 表示了具体的命令。</p></li><li><p>cluster name 表示集群名称(即<code>iotd/config</code> 文件中yaml文件名字)。</p></li><li><p>params 表示了命令的所需参数(选填)。</p></li><li><p>例如部署default_cluster集群的命令格式为:</p></li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster deploy default_cluster\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>集群的功能及参数列表如下:</li></ul><table><thead><tr><th>命令</th><th>功能</th><th>参数</th></tr></thead><tbody><tr><td>check</td><td>检测集群是否可以部署</td><td>集群名称列表</td></tr><tr><td>clean</td><td>清理集群</td><td>集群名称</td></tr><tr><td>deploy</td><td>部署集群</td><td>集群名称</td></tr><tr><td>list</td><td>打印集群及状态列表</td><td>无</td></tr><tr><td>start</td><td>启动集群</td><td>集群名称,-N,节点名称(可选)</td></tr><tr><td>stop</td><td>关闭集群</td><td>集群名称,-N,节点名称(可选)</td></tr><tr><td>restart</td><td>重启集群</td><td>集群名称</td></tr><tr><td>show</td><td>查看集群信息,details字段表示展示集群信息细节</td><td>集群名称, details(可选)</td></tr><tr><td>destroy</td><td>销毁集群</td><td>集群名称</td></tr><tr><td>scaleout</td><td>集群扩容</td><td>集群名称</td></tr><tr><td>scalein</td><td>集群缩容</td><td>集群名称,-N,集群节点名字或集群节点ip+port</td></tr><tr><td>reload</td><td>集群热加载</td><td>集群名称</td></tr><tr><td>distribute</td><td>集群配置文件分发</td><td>集群名称</td></tr><tr><td>dumplog</td><td>备份指定集群日志</td><td>集群名称,-N,集群节点名字 -h 备份至目标机器ip -pw 备份至目标机器密码 -p 备份至目标机器端口 -path 备份的目录 -startdate 起始时间 -enddate 结束时间 -loglevel 日志类型 -l 传输速度</td></tr><tr><td>dumpdata</td><td>备份指定集群数据</td><td>集群名称, -h 备份至目标机器ip -pw 备份至目标机器密码 -p 备份至目标机器端口 -path 备份的目录 -startdate 起始时间 -enddate 结束时间 -l 传输速度</td></tr><tr><td>upgrade</td><td>lib 包升级</td><td>集群名字(升级完后请重启)</td></tr></tbody></table><h4 id="详细命令执行过程" tabindex="-1"><a class="header-anchor" href="#详细命令执行过程"><span>详细命令执行过程</span></a></h4><p>下面的命令都是以default_cluster.yaml 为示例执行的,用户可以修改成自己的集群文件来执行</p><h5 id="检查集群部署环境命令" tabindex="-1"><a class="header-anchor" href="#检查集群部署环境命令"><span>检查集群部署环境命令</span></a></h5><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster check default_cluster\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件,获取<code>confignode_servers</code>和<code>datanode_servers</code>配置信息</p></li><li><p>验证目标节点是否能够通过 SSH 登录</p></li><li><p>验证对应节点上的 JDK 版本是否满足IoTDB jdk1.8及以上版本、服务器是否按照unzip、是否安装lsof 或者netstat</p></li><li><p>如果看到下面提示<code>Info:example check successfully!</code> 证明服务器已经具备安装的要求,<br> 如果输出<code>Warn:example check fail!</code> 证明有部分条件没有满足需求可以查看上面的Warn日志进行修复,假如jdk没有满足要求,我们可以自己在yaml 文件中配置一个jdk1.8 及以上版本的进行部署不影响后面使用,如果检查lsof、netstat或者unzip 不满足要求需要在服务器上自行安装</p></li></ul><h5 id="部署集群命令" tabindex="-1"><a class="header-anchor" href="#部署集群命令"><span>部署集群命令</span></a></h5><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster deploy default_cluster\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件,获取<code>confignode_servers</code>和<code>datanode_servers</code>配置信息</p></li><li><p>根据<code>confignode_servers</code> 和<code>datanode_servers</code>中的节点信息上传iotdb压缩包和jdk压缩包(如果yaml中配置<code>jdk_tar_dir</code>和<code>jdk_deploy_dir</code>值)</p></li><li><p>根据yaml文件节点配置信息生成并上传<code>iotdb-common.properties</code>、<code>iotdb-confignode.properties</code>、<code>iotdb-datanode.properties</code></p></li></ul><p>提示:这里的confignode 和datanode部署到同一台机器上时目录不能为相同,否则会被后部署的节点文件覆盖</p><h5 id="启动集群命令" tabindex="-1"><a class="header-anchor" href="#启动集群命令"><span>启动集群命令</span></a></h5><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster check default_cluster\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件,获取<code>confignode_servers</code>和<code>datanode_servers</code>配置信息</p></li><li><p>启动confignode,根据yaml配置文件中<code>confignode_servers</code>中的顺序依次启动同时根据进程id检查confignode是否正常,第一个confignode 为seek config</p></li><li><p>启动datanode,根据yaml配置文件中<code>datanode_servers</code>中的顺序依次启动同时根据进程id检查datanode是否正常</p></li><li><p>如果根据进程id检查进程存在后,通过cli依次检查集群列表中每个服务是否正常,如果cli链接失败则每隔10s重试一次直到成功最多重试5次</p></li></ul><p><em>启动单个节点命令</em></p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster start default_cluster <span class="token parameter variable">-N</span> datanode_1\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>or</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster start default_cluster <span class="token parameter variable">-N</span> <span class="token number">192.168</span>.1.5:6667\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件</p></li><li><p>根据提供的节点名称或者ip:port找到对于节点位置信息,如果启动的节点是<code>data_node</code>则ip使用yaml 文件中的<code>dn_rpc_address</code>、port 使用的是yaml文件中datanode_servers 中的<code>dn_rpc_port</code>。<br> 如果启动的节点是<code>config_node</code>则ip使用的是yaml文件中confignode_servers 中的<code>cn_internal_address</code> 、port 使用的是<code>cn_internal_port</code></p></li><li><p>启动该节点</p></li></ul><h5 id="查看集群状态命令" tabindex="-1"><a class="header-anchor" href="#查看集群状态命令"><span>查看集群状态命令</span></a></h5><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster show default_cluster\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>or</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster show default_cluster details\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件,获取<code>confignode_servers</code>和<code>datanode_servers</code>配置信息</p></li><li><p>依次在datanode通过cli执行<code>show cluster details</code> 如果有一个节点执行成功则不会在后续节点继续执行cli直接返回结果</p></li></ul><h5 id="停止集群命令" tabindex="-1"><a class="header-anchor" href="#停止集群命令"><span>停止集群命令</span></a></h5><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster stop default_cluster\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件,获取<code>confignode_servers</code>和<code>datanode_servers</code>配置信息</p></li><li><p>根据<code>datanode_servers</code>中datanode节点信息,按照配置先后顺序依次停止datanode节点</p></li><li><p>根据<code>confignode_servers</code>中confignode节点信息,按照配置依次停止confignode节点</p></li></ul><p><em>停止单个节点命令</em></p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster stop default_cluster <span class="token parameter variable">-N</span> datanode_1\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>or</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>iotd cluster stop default_cluster <span class="token parameter variable">-N</span> <span class="token number">192.168</span>.1.5:6667\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>根据 cluster-name 找到默认位置的 yaml 文件</p></li><li><p>根据提供的节点名称或者ip:port找到对于节点位置信息,如果停止的节点是<code>data_node</code>则ip使用yaml 文件中的<code>dn_rpc_address</code>、port 使用的是yaml文件中datanode_servers 中的<code>dn_rpc_port</code>。<br> 如果停止的节点是<code>config_node</code>则ip使用的是yaml文件中confignode_servers 中的<code>cn_internal_address</code> 、port 使用的是<code>cn_internal_port</code></p></li><li><p>停止该节点</p></li></ul><h2 id="数据文件夹概览工具" tabindex="-1"><a class="header-anchor" href="#数据文件夹概览工具"><span>数据文件夹概览工具</span></a></h2><p>IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。</p><h3 id="用法" tabindex="-1"><a class="header-anchor" href="#用法"><span>用法</span></a></h3><ul><li>Windows:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-iotdb-data-dir.bat <span class="token operator">&lt;</span>IoTDB数据文件夹路径,如果是多个文件夹用逗号分隔<span class="token operator">&gt;</span> <span class="token punctuation">(</span><span class="token operator">&lt;</span>输出结果的存储路径<span class="token operator">&gt;</span><span class="token punctuation">)</span> \n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Linux or MacOs:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>./print-iotdb-data-dir.sh <span class="token operator">&lt;</span>IoTDB数据文件夹路径,如果是多个文件夹用逗号分隔<span class="token operator">&gt;</span> <span class="token punctuation">(</span><span class="token operator">&lt;</span>输出结果的存储路径<span class="token operator">&gt;</span><span class="token punctuation">)</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>注意:如果没有设置输出结果的存储路径, 将使用相对路径&quot;IoTDB_data_dir_overview.txt&quot;作为默认值。</p><h3 id="示例" tabindex="-1"><a class="header-anchor" href="#示例"><span>示例</span></a></h3><p>以Windows系统为例:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-iotdb-data-dir.bat D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data\n```````````````````````<span class="token variable"><span class="token variable">`</span>\nStarting Printing the IoTDB Data Directory Overview\n<span class="token variable">`</span></span>```````````````````````\noutput save path:IoTDB_data_dir_overview.txt\ndata <span class="token function">dir</span> num:1\n<span class="token number">143</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.\n<span class="token operator">|</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span>\n<span class="token operator">|</span>D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data\n<span class="token operator">|</span>--sequence\n<span class="token operator">|</span> <span class="token operator">|</span>--root.redirect0\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--1\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span>--root.redirect1\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--2\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span>--root.redirect2\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--3\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span>--root.redirect3\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--4\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span>--root.redirect4\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--5\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span>--root.redirect5\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--6\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span>--root.sg1\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--0\n<span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span> <span class="token operator">|</span>--2760\n<span class="token operator">|</span>--unsequence\n<span class="token operator">|</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span>\n</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 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><h2 id="tsfile概览工具" tabindex="-1"><a class="header-anchor" href="#tsfile概览工具"><span>TsFile概览工具</span></a></h2><p>TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。</p><h3 id="用法-1" tabindex="-1"><a class="header-anchor" href="#用法-1"><span>用法</span></a></h3><ul><li>Windows:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-tsfile-sketch.bat <span class="token operator">&lt;</span>TsFile文件路径<span class="token operator">&gt;</span> <span class="token punctuation">(</span><span class="token operator">&lt;</span>输出结果的存储路径<span class="token operator">&gt;</span><span class="token punctuation">)</span> \n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Linux or MacOs:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>./print-tsfile-sketch.sh <span class="token operator">&lt;</span>TsFile文件路径<span class="token operator">&gt;</span> <span class="token punctuation">(</span><span class="token operator">&lt;</span>输出结果的存储路径<span class="token operator">&gt;</span><span class="token punctuation">)</span> \n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>注意:如果没有设置输出结果的存储路径, 将使用相对路径&quot;TsFile_sketch_view.txt&quot;作为默认值。</p><h3 id="示例-1" tabindex="-1"><a class="header-anchor" href="#示例-1"><span>示例</span></a></h3><p>以Windows系统为例:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-tsfile.bat D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span><span class="token number">1669359533965</span>-1-0-0.tsfile D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>sketch.txt\n```````````````````````<span class="token variable"><span class="token variable">`</span>\nStarting Printing the TsFile Sketch\n<span class="token variable">`</span></span>```````````````````````\nTsFile path:D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span><span class="token number">1669359533965</span>-1-0-0.tsfile\nSketch save path:D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>sketch.txt\n<span class="token number">148</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.\n-------------------------------- TsFile Sketch --------------------------------\n<span class="token function">file</span> path: D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span><span class="token number">1669359533965</span>-1-0-0.tsfile\n<span class="token function">file</span> length: <span class="token number">2974</span>\n\n POSITION<span class="token operator">|</span> CONTENT\n -------- -------\n <span class="token number">0</span><span class="token operator">|</span> <span class="token punctuation">[</span>magic head<span class="token punctuation">]</span> TsFile\n <span class="token number">6</span><span class="token operator">|</span> <span class="token punctuation">[</span>version number<span class="token punctuation">]</span> <span class="token number">3</span>\n<span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">|</span> <span class="token punctuation">[</span>Chunk Group<span class="token punctuation">]</span> of root.sg1.d1, num of Chunks:3\n <span class="token number">7</span><span class="token operator">|</span> <span class="token punctuation">[</span>Chunk Group Header<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>marker<span class="token punctuation">]</span> <span class="token number">0</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>deviceID<span class="token punctuation">]</span> root.sg1.d1\n <span class="token number">20</span><span class="token operator">|</span> <span class="token punctuation">[</span>Chunk<span class="token punctuation">]</span> of root.sg1.d1.s1, startTime: <span class="token number">1669359533948</span> endTime: <span class="token number">1669359534047</span> count: <span class="token number">100</span> <span class="token punctuation">[</span>minValue:-9032452783138882770,maxValue:9117677033041335123,firstValue:7068645577795875906,lastValue:-5833792328174747265,sumValue:5.795959009889246E19<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>chunk header<span class="token punctuation">]</span> <span class="token assign-left variable">marker</span><span class="token operator">=</span><span class="token number">5</span>, <span class="token assign-left variable">measurementID</span><span class="token operator">=</span>s1, <span class="token assign-left variable">dataSize</span><span class="token operator">=</span><span class="token number">864</span>, <span class="token assign-left variable">dataType</span><span class="token operator">=</span>INT64, <span class="token assign-left variable">compressionType</span><span class="token operator">=</span>SNAPPY, <span class="token assign-left variable">encodingType</span><span class="token operator">=</span>RLE\n <span class="token operator">|</span> <span class="token punctuation">[</span>page<span class="token punctuation">]</span> UncompressedSize:862, CompressedSize:860\n <span class="token number">893</span><span class="token operator">|</span> <span class="token punctuation">[</span>Chunk<span class="token punctuation">]</span> of root.sg1.d1.s2, startTime: <span class="token number">1669359533948</span> endTime: <span class="token number">1669359534047</span> count: <span class="token number">100</span> <span class="token punctuation">[</span>minValue:-8806861312244965718,maxValue:9192550740609853234,firstValue:1150295375739457693,lastValue:-2839553973758938646,sumValue:8.2822564314572677E18<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>chunk header<span class="token punctuation">]</span> <span class="token assign-left variable">marker</span><span class="token operator">=</span><span class="token number">5</span>, <span class="token assign-left variable">measurementID</span><span class="token operator">=</span>s2, <span class="token assign-left variable">dataSize</span><span class="token operator">=</span><span class="token number">864</span>, <span class="token assign-left variable">dataType</span><span class="token operator">=</span>INT64, <span class="token assign-left variable">compressionType</span><span class="token operator">=</span>SNAPPY, <span class="token assign-left variable">encodingType</span><span class="token operator">=</span>RLE\n <span class="token operator">|</span> <span class="token punctuation">[</span>page<span class="token punctuation">]</span> UncompressedSize:862, CompressedSize:860\n <span class="token number">1766</span><span class="token operator">|</span> <span class="token punctuation">[</span>Chunk<span class="token punctuation">]</span> of root.sg1.d1.s3, startTime: <span class="token number">1669359533948</span> endTime: <span class="token number">1669359534047</span> count: <span class="token number">100</span> <span class="token punctuation">[</span>minValue:-9076669333460323191,maxValue:9175278522960949594,firstValue:2537897870994797700,lastValue:7194625271253769397,sumValue:-2.126008424849926E19<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>chunk header<span class="token punctuation">]</span> <span class="token assign-left variable">marker</span><span class="token operator">=</span><span class="token number">5</span>, <span class="token assign-left variable">measurementID</span><span class="token operator">=</span>s3, <span class="token assign-left variable">dataSize</span><span class="token operator">=</span><span class="token number">864</span>, <span class="token assign-left variable">dataType</span><span class="token operator">=</span>INT64, <span class="token assign-left variable">compressionType</span><span class="token operator">=</span>SNAPPY, <span class="token assign-left variable">encodingType</span><span class="token operator">=</span>RLE\n <span class="token operator">|</span> <span class="token punctuation">[</span>page<span class="token punctuation">]</span> UncompressedSize:862, CompressedSize:860\n<span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">|</span> <span class="token punctuation">[</span>Chunk Group<span class="token punctuation">]</span> of root.sg1.d1 ends\n <span class="token number">2656</span><span class="token operator">|</span> <span class="token punctuation">[</span>marker<span class="token punctuation">]</span> <span class="token number">2</span>\n <span class="token number">2657</span><span class="token operator">|</span> <span class="token punctuation">[</span>TimeseriesIndex<span class="token punctuation">]</span> of root.sg1.d1.s1, tsDataType:INT64, startTime: <span class="token number">1669359533948</span> endTime: <span class="token number">1669359534047</span> count: <span class="token number">100</span> <span class="token punctuation">[</span>minValue:-9032452783138882770,maxValue:9117677033041335123,firstValue:7068645577795875906,lastValue:-5833792328174747265,sumValue:5.795959009889246E19<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>ChunkIndex<span class="token punctuation">]</span> <span class="token assign-left variable">offset</span><span class="token operator">=</span><span class="token number">20</span>\n <span class="token number">2728</span><span class="token operator">|</span> <span class="token punctuation">[</span>TimeseriesIndex<span class="token punctuation">]</span> of root.sg1.d1.s2, tsDataType:INT64, startTime: <span class="token number">1669359533948</span> endTime: <span class="token number">1669359534047</span> count: <span class="token number">100</span> <span class="token punctuation">[</span>minValue:-8806861312244965718,maxValue:9192550740609853234,firstValue:1150295375739457693,lastValue:-2839553973758938646,sumValue:8.2822564314572677E18<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>ChunkIndex<span class="token punctuation">]</span> <span class="token assign-left variable">offset</span><span class="token operator">=</span><span class="token number">893</span>\n <span class="token number">2799</span><span class="token operator">|</span> <span class="token punctuation">[</span>TimeseriesIndex<span class="token punctuation">]</span> of root.sg1.d1.s3, tsDataType:INT64, startTime: <span class="token number">1669359533948</span> endTime: <span class="token number">1669359534047</span> count: <span class="token number">100</span> <span class="token punctuation">[</span>minValue:-9076669333460323191,maxValue:9175278522960949594,firstValue:2537897870994797700,lastValue:7194625271253769397,sumValue:-2.126008424849926E19<span class="token punctuation">]</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>ChunkIndex<span class="token punctuation">]</span> <span class="token assign-left variable">offset</span><span class="token operator">=</span><span class="token number">1766</span>\n <span class="token number">2870</span><span class="token operator">|</span> <span class="token punctuation">[</span>IndexOfTimerseriesIndex Node<span class="token punctuation">]</span> <span class="token assign-left variable">type</span><span class="token operator">=</span>LEAF_MEASUREMENT\n <span class="token operator">|</span> <span class="token operator">&lt;</span>s1, <span class="token number">265</span><span class="token operator"><span class="token file-descriptor important">7</span>&gt;</span>\n <span class="token operator">|</span> <span class="token operator">&lt;</span>endOffset, <span class="token number">287</span><span class="token operator"><span class="token file-descriptor important">0</span>&gt;</span>\n<span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">|</span> <span class="token punctuation">[</span>TsFileMetadata<span class="token punctuation">]</span> begins\n <span class="token number">2891</span><span class="token operator">|</span> <span class="token punctuation">[</span>IndexOfTimerseriesIndex Node<span class="token punctuation">]</span> <span class="token assign-left variable">type</span><span class="token operator">=</span>LEAF_DEVICE\n <span class="token operator">|</span> <span class="token operator">&lt;</span>root.sg1.d1, <span class="token number">287</span><span class="token operator"><span class="token file-descriptor important">0</span>&gt;</span>\n <span class="token operator">|</span> <span class="token operator">&lt;</span>endOffset, <span class="token number">289</span><span class="token operator"><span class="token file-descriptor important">1</span>&gt;</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>meta offset<span class="token punctuation">]</span> <span class="token number">2656</span>\n <span class="token operator">|</span> <span class="token punctuation">[</span>bloom filter<span class="token punctuation">]</span> bit vector byte array <span class="token assign-left variable">length</span><span class="token operator">=</span><span class="token number">31</span>, <span class="token assign-left variable">filterSize</span><span class="token operator">=</span><span class="token number">256</span>, <span class="token assign-left variable">hashFunctionSize</span><span class="token operator">=</span><span class="token number">5</span>\n<span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">||</span><span class="token operator">|</span> <span class="token punctuation">[</span>TsFileMetadata<span class="token punctuation">]</span> ends\n <span class="token number">2964</span><span class="token operator">|</span> <span class="token punctuation">[</span>TsFileMetadataSize<span class="token punctuation">]</span> <span class="token number">73</span>\n <span class="token number">2968</span><span class="token operator">|</span> <span class="token punctuation">[</span>magic tail<span class="token punctuation">]</span> TsFile\n <span class="token number">2974</span><span class="token operator">|</span> END of TsFile\n---------------------------- IndexOfTimerseriesIndex Tree -----------------------------\n <span class="token punctuation">[</span>MetadataIndex:LEAF_DEVICE<span class="token punctuation">]</span>\n └──────<span class="token punctuation">[</span>root.sg1.d1,2870<span class="token punctuation">]</span>\n <span class="token punctuation">[</span>MetadataIndex:LEAF_MEASUREMENT<span class="token punctuation">]</span>\n └──────<span class="token punctuation">[</span>s1,2657<span class="token punctuation">]</span>\n---------------------------------- TsFile Sketch End ----------------------------------\n</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 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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>解释:</p><ul><li>以&quot;|&quot;为分隔,左边是在TsFile文件中的实际位置,右边是梗概内容。</li><li>&quot;|||||||||||||||||||||&quot;是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。</li><li>最后打印的&quot;IndexOfTimerseriesIndex Tree&quot;是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。</li></ul><h2 id="tsfile-resource概览工具" tabindex="-1"><a class="header-anchor" href="#tsfile-resource概览工具"><span>TsFile Resource概览工具</span></a></h2><p>TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。</p><h3 id="用法-2" tabindex="-1"><a class="header-anchor" href="#用法-2"><span>用法</span></a></h3><ul><li>Windows:</li></ul><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-tsfile-resource-files.bat <span class="token operator">&lt;</span>TsFile resource文件所在的文件夹路径,或者单个TsFile resource文件路径<span class="token operator">&gt;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Linux or MacOs:</li></ul><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>./print-tsfile-resource-files.sh &lt;TsFile resource文件所在的文件夹路径,或者单个TsFile resource文件路径&gt; \n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="示例-2" tabindex="-1"><a class="header-anchor" href="#示例-2"><span>示例</span></a></h3><p>以Windows系统为例:</p><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-tsfile-resource-files.bat D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>sequence<span class="token punctuation">\\</span>root.sg1<span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">0</span>\n```````````````````````<span class="token variable"><span class="token variable">`</span>\nStarting Printing the TsFileResources\n<span class="token variable">`</span></span>```````````````````````\n<span class="token number">147</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.\n<span class="token number">230</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot <span class="token function">find</span> IOTDB_HOME or IOTDB_CONF environment variable when loading config <span class="token function">file</span> iotdb-common.properties, use default configuration\n<span class="token number">231</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn<span class="token string">&#39;t load the configuration iotdb-common.properties from any of the known sources.\n233 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-datanode.properties, use default configuration\n237 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn&#39;</span>t load the configuration iotdb-datanode.properties from any of the known sources.\nAnalyzing D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>sequence<span class="token punctuation">\\</span>root.sg1<span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">1669359533489</span>-1-0-0.tsfile <span class="token punctuation">..</span>.\n\nResource plan index range <span class="token punctuation">[</span><span class="token number">9223372036854775807</span>, -9223372036854775808<span class="token punctuation">]</span>\ndevice root.sg1.d1, start <span class="token function">time</span> <span class="token number">0</span> <span class="token punctuation">(</span><span class="token number">1970</span>-01-01T08:00+08:00<span class="token punctuation">[</span>GMT+08:00<span class="token punctuation">]</span><span class="token punctuation">)</span>, end <span class="token function">time</span> <span class="token number">99</span> <span class="token punctuation">(</span><span class="token number">1970</span>-01-01T08:00:00.099+08:00<span class="token punctuation">[</span>GMT+08:00<span class="token punctuation">]</span><span class="token punctuation">)</span>\n\nAnalyzing the resource <span class="token function">file</span> folder D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>sequence<span class="token punctuation">\\</span>root.sg1<span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">0</span> finished.\n</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 class="line-number"></div><div class="line-number"></div></div></div><div class="language-bash line-numbers-mode" data-ext="sh" data-title="sh"><pre class="language-bash"><code>.<span class="token punctuation">\\</span>print-tsfile-resource-files.bat D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>sequence<span class="token punctuation">\\</span>root.sg1<span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">1669359533489</span>-1-0-0.tsfile.resource\n```````````````````````<span class="token variable"><span class="token variable">`</span>\nStarting Printing the TsFileResources\n<span class="token variable">`</span></span>```````````````````````\n<span class="token number">178</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot <span class="token function">find</span> IOTDB_HOME or IOTDB_CONF environment variable when loading config <span class="token function">file</span> iotdb-common.properties, use default configuration\n<span class="token number">186</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.\n<span class="token number">187</span> <span class="token punctuation">[</span>main<span class="token punctuation">]</span> WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn<span class="token string">&#39;t load the configuration iotdb-common.properties from any of the known sources.\n188 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-datanode.properties, use default configuration\n192 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn&#39;</span>t load the configuration iotdb-datanode.properties from any of the known sources.\nAnalyzing D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>sequence<span class="token punctuation">\\</span>root.sg1<span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">1669359533489</span>-1-0-0.tsfile <span class="token punctuation">..</span>.\n\nResource plan index range <span class="token punctuation">[</span><span class="token number">9223372036854775807</span>, -9223372036854775808<span class="token punctuation">]</span>\ndevice root.sg1.d1, start <span class="token function">time</span> <span class="token number">0</span> <span class="token punctuation">(</span><span class="token number">1970</span>-01-01T08:00+08:00<span class="token punctuation">[</span>GMT+08:00<span class="token punctuation">]</span><span class="token punctuation">)</span>, end <span class="token function">time</span> <span class="token number">99</span> <span class="token punctuation">(</span><span class="token number">1970</span>-01-01T08:00:00.099+08:00<span class="token punctuation">[</span>GMT+08:00<span class="token punctuation">]</span><span class="token punctuation">)</span>\n\nAnalyzing the resource <span class="token function">file</span> D:<span class="token punctuation">\\</span>github<span class="token punctuation">\\</span>master<span class="token punctuation">\\</span>iotdb<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>datanode<span class="token punctuation">\\</span>data<span class="token punctuation">\\</span>sequence<span class="token punctuation">\\</span>root.sg1<span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">0</span><span class="token punctuation">\\</span><span class="token number">1669359533489</span>-1-0-0.tsfile.resource finished.\n</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 class="line-number"></div><div class="line-number"></div></div></div>',78);function E(w,O){const a=p("ExternalLinkIcon");return l(),i("div",null,[r,n("table",null,[d,n("tbody",null,[u,k,b,m,v,h,g,f,_,T,n("tr",null,[n("td",null,[n("a",x,[s("datanode-env.sh"),e(a)])]),y,D]),n("tr",null,[n("td",null,[n("a",I,[s("confignode-env.sh"),e(a)])]),N,B]),F,C,S])]),V])}const M=o(c,[["render",E],["__file","Maintenance-Tool_timecho.html.vue"]]),A=JSON.parse('{"path":"/zh/UserGuide/V1.2.x/Tools-System/Maintenance-Tool_timecho.html","title":"运维工具","lang":"zh-CN","frontmatter":{"description":"运维工具 集群版部署 集群管理工具部署 IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/V1.2.x/Tools-System/Maintenance-Tool_timecho.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/V1.2.x/Tools-System/Maintenance-Tool_timecho.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"运维工具"}],["meta",{"property":"og:description","content":"运维工具 集群版部署 集群管理工具部署 IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-01-12T08:18:47.000Z"}],["meta",{"property":"article:modified_time","content":"2024-01-12T08:18:47.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"运维工具\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-01-12T08:18:47.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"集群版部署","slug":"集群版部署","link":"#集群版部署","children":[{"level":3,"title":"集群管理工具部署","slug":"集群管理工具部署","link":"#集群管理工具部署","children":[]}]},{"level":2,"title":"数据文件夹概览工具","slug":"数据文件夹概览工具","link":"#数据文件夹概览工具","children":[{"level":3,"title":"用法","slug":"用法","link":"#用法","children":[]},{"level":3,"title":"示例","slug":"示例","link":"#示例","children":[]}]},{"level":2,"title":"TsFile概览工具","slug":"tsfile概览工具","link":"#tsfile概览工具","children":[{"level":3,"title":"用法","slug":"用法-1","link":"#用法-1","children":[]},{"level":3,"title":"示例","slug":"示例-1","link":"#示例-1","children":[]}]},{"level":2,"title":"TsFile Resource概览工具","slug":"tsfile-resource概览工具","link":"#tsfile-resource概览工具","children":[{"level":3,"title":"用法","slug":"用法-2","link":"#用法-2","children":[]},{"level":3,"title":"示例","slug":"示例-2","link":"#示例-2","children":[]}]}],"git":{"createdTime":1690869728000,"updatedTime":1705047527000,"contributors":[{"name":"CritasWang","email":"critas@outlook.com","commits":2},{"name":"Lei","email":"33376433+LeiRui@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":14.32,"words":4297},"filePathRelative":"zh/UserGuide/V1.2.x/Tools-System/Maintenance-Tool_timecho.md","localizedDate":"2023年8月1日","autoDesc":true}');export{M as comp,A as data};