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