blob: 8a819bea59fcd3bbddb46d5d68db6f9502747401 [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[421],{989:function(e,s,t){"use strict";t.r(s);var a=t(70),r=Object(a.a)({},(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"运维命令"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#运维命令"}},[e._v("#")]),e._v(" 运维命令")]),e._v(" "),t("h2",{attrs:{id:"flush"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#flush"}},[e._v("#")]),e._v(" FLUSH")]),e._v(" "),t("p",[e._v("将指定存储组的内存缓存区Memory Table的数据持久化到磁盘上,并将数据文件封口。")]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("IoTDB> FLUSH \nIoTDB> FLUSH root.ln\nIoTDB> FLUSH root.sg1,root.sg2\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br"),t("span",{staticClass:"line-number"},[e._v("2")]),t("br"),t("span",{staticClass:"line-number"},[e._v("3")]),t("br")])]),t("h2",{attrs:{id:"merge"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#merge"}},[e._v("#")]),e._v(" MERGE")]),e._v(" "),t("p",[e._v("触发层级合并和乱序合并。当前IoTDB支持使用如下两种SQL手动触发数据文件的合并:")]),e._v(" "),t("ul",[t("li",[t("code",[e._v("MERGE")]),e._v(" 先触发层级合并,等层级合并执行完后,再触发乱序合并。在乱序合并中,仅重写重复的Chunk,整理速度快,但是最终磁盘会存在多余数据。")]),e._v(" "),t("li",[t("code",[e._v("FULL MERGE")]),e._v(" 先触发层级合并,等层级合并执行完后,再触发乱序合并。在乱序合并中,将需要合并的顺序和乱序文件的所有数据都重新写一份,整理速度慢,最终磁盘将不存在无用的数据。")])]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("IoTDB> MERGE\nIoTDB> FULL MERGE\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br"),t("span",{staticClass:"line-number"},[e._v("2")]),t("br")])]),t("h2",{attrs:{id:"clear-cache"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#clear-cache"}},[e._v("#")]),e._v(" CLEAR CACHE")]),e._v(" "),t("p",[e._v("手动清除chunk, chunk metadata和timeseries metadata的缓存,在内存资源紧张时,可以通过此命令,释放查询时缓存所占的内存空间。")]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("IoTDB> CLEAR CACHE\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br")])]),t("h2",{attrs:{id:"schema-snapshot"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#schema-snapshot"}},[e._v("#")]),e._v(" SCHEMA SNAPSHOT")]),e._v(" "),t("p",[e._v("为了加快 IoTDB 重启速度,用户可以手动触发创建 schema 的快照,从而避免服务器从 mlog 文件中恢复。")]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("IoTDB> CREATE SNAPSHOT FOR SCHEMA\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br")])]),t("h2",{attrs:{id:"中止查询"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#中止查询"}},[e._v("#")]),e._v(" 中止查询")]),e._v(" "),t("p",[e._v("当使用 IoTDB 时,您可能会遇到以下情形:输入了一个查询,但是由于其包含的数据量过大或是其他原因,导致长时间无法返回结果,但是迫于生产环境无法中止该命令,只能被迫等待。")]),e._v(" "),t("p",[e._v("从 0.12 版本开始,IoTDB 对执行时间过长的查询给出了两种解决方案:查询超时和查询中止。")]),e._v(" "),t("h3",{attrs:{id:"查询超时"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#查询超时"}},[e._v("#")]),e._v(" 查询超时")]),e._v(" "),t("p",[e._v("对于执行时间过长的查询,IoTDB 将强行中断该查询,并抛出超时异常,如下所示:")]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("IoTDB> select * from root;\nMsg: 701 Current query is time out, please check your statement or modify timeout parameter.\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br"),t("span",{staticClass:"line-number"},[e._v("2")]),t("br")])]),t("p",[e._v("系统默认的超时时间为 60000 ms,可以在配置文件中通过 "),t("code",[e._v("query_timeout_threshold")]),e._v(" 参数进行自定义配置。")]),e._v(" "),t("p",[e._v("如果您使用 JDBC 或 Session,还支持对单个查询设置超时时间(单位为 ms):")]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("E.g. ((IoTDBStatement) statement).executeQuery(String sql, long timeoutInMS)\nE.g. session.executeQueryStatement(String sql, long timeout)\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br"),t("span",{staticClass:"line-number"},[e._v("2")]),t("br")])]),t("p",[e._v("如果不配置超时时间参数或将超时时间设置为 0,将使用服务器端默认的超时时间.")]),e._v(" "),t("h3",{attrs:{id:"查询中止"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#查询中止"}},[e._v("#")]),e._v(" 查询中止")]),e._v(" "),t("p",[e._v("除了被动地等待查询超时外,IoTDB 还支持主动地中止查询,命令为:")]),e._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("KILL QUERY <queryId>\n")])]),e._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[e._v("1")]),t("br")])]),t("p",[e._v("通过指定 "),t("code",[e._v("queryId")]),e._v(" 可以中止指定的查询,而如果不指定 "),t("code",[e._v("queryId")]),e._v(",将中止所有正在执行的查询。")]),e._v(" "),t("p",[e._v("为了获取正在执行的查询 id,用户可以使用 "),t("code",[e._v("show query processlist")]),e._v(" 命令,该命令将显示所有正在执行的查询列表,结果形式如下:")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Time")]),e._v(" "),t("th",[e._v("queryId")]),e._v(" "),t("th",[e._v("statement")])])]),e._v(" "),t("tbody",[t("tr",[t("td"),e._v(" "),t("td"),e._v(" "),t("td")])])]),e._v(" "),t("p",[e._v("其中 statement 最大显示长度为 64 字符。对于超过 64 字符的查询语句,将截取部分进行显示。")])])}),[],!1,null,null,null);s.default=r.exports}}]);