This is an automated email from the ASF dual-hosted git repository. hxd pushed a commit to branch fix-doc-doller-chars in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 95a1460fd081c83a4828bffc05c05f0bc073f586 Author: xiangdong huang <[email protected]> AuthorDate: Sat Oct 31 16:57:29 2020 +0800 remove doller chars in markdown, add latex template for exporting docs to pdf --- docs/Development/ContributeGuide.md | 2 + docs/UserGuide/Server/ServerFileList.md | 38 +++--- docs/zh/UserGuide/Server/ServerFileList.md | 38 +++--- docs/zh/UserGuide/System Tools/NodeTool.md | 48 +++++++ docs/zh/chinese-render-template.latex | 201 +++++++++++++++++++++++++++++ 5 files changed, 289 insertions(+), 38 deletions(-) diff --git a/docs/Development/ContributeGuide.md b/docs/Development/ContributeGuide.md index 541d700..2d57c1f 100644 --- a/docs/Development/ContributeGuide.md +++ b/docs/Development/ContributeGuide.md @@ -80,6 +80,8 @@ Correspondence between versions and branches on the official website: Precautions: * Images in Markdown can be uploaded to https://github.com/thulab/iotdb/issues/543 for url +* Do not use special Unicode chars, e.g., U+FF1A +* Do not use the character of dollar (as we will use Latex to generate pdf files) ## Contributing code diff --git a/docs/UserGuide/Server/ServerFileList.md b/docs/UserGuide/Server/ServerFileList.md index 30ac4f8..766f52e 100644 --- a/docs/UserGuide/Server/ServerFileList.md +++ b/docs/UserGuide/Server/ServerFileList.md @@ -62,32 +62,32 @@ #### WAL > under directory basedir/wal -1. ${StorageGroupName}-${TsFileName}/wal1 +1. {StorageGroupName}-{TsFileName}/wal1 + every storage group has several wal files, and every memtable has one associated wal file before it is flushed into a TsFile #### TsFile -> under directory data/sequence or unsequence/${StorageGroupName}/${TimePartitionId}/ -1. ${time}-${version}-${mergeCnt}.tsfile +> under directory data/sequence or unsequence/{StorageGroupName}/{TimePartitionId}/ +1. {time}-{version}-{mergeCnt}.tsfile + normal data file -2. ${TsFileName}-${level}-${time}.vm +2. {TsFileName}-{level}-{time}.vm + virtual merged TsFile + to optimize query performance, more details in https://issues.apache.org/jira/browse/IOTDB-706 -3. ${TsFileName}.tsfile.mod +3. {TsFileName}.tsfile.mod + modification file + record delete operation #### TsFileResource -1. ${TsFileName}.tsfile.resource +1. {TsFileName}.tsfile.resource + descriptor and statistic file of a TsFile -2. ${TsFileName}.tsfile.resource.temp +2. {TsFileName}.tsfile.resource.temp + temp file + avoid damaging the tsfile.resource when updating it -3. ${TsFileName}.tsfile.resource.closing +3. {TsFileName}.tsfile.resource.closing + close flag file, to mark a tsfile closing so during restarts we can continue to close it or reopen it #### Version -> under directory basedir/system/storage_groups/${StorageGroupName}/${TimePartitionId} or upgrade -1. Version-${version} +> under directory basedir/system/storage_groups/{StorageGroupName}/{TimePartitionId} or upgrade +1. Version-{version} + version file, record the max version in fileName of a stroage group #### Upgrade @@ -96,7 +96,7 @@ + record which files have been upgraded #### Merge -> under directory basedir/system/storage_groups/${StrorageGroup}/ +> under directory basedir/system/storage_groups/{StrorageGroup}/ 1. merge.mods + modification file generated during a merge 2. merge.log @@ -110,7 +110,7 @@ #### CompressRatio > under directory basedir/system/compression_ration -1. Ration-${compressionRatioSum}-${calTimes} +1. Ration-{compressionRatioSum}-{calTimes} + record compression ratio of each tsfile --- @@ -128,16 +128,16 @@ + the identifier of the local node in a cluster 2. partitions + partition table file, records the distribution of data -3. ${time}_${random}.task +3. {time}_{random}.task + pullSnapshotTask file, record the slots and owners. When a node joins a cluster, it will create pullSnapshotTask file to track which data to be pulled - + under directory basedir/raft/${nodeIdentifier}/snapshot_task/ + + under directory basedir/raft/{nodeIdentifier}/snapshot_task/ ## Raft Related Files -> under directory basedir/system/raftLog/${nodeIdentifier}/ +> under directory basedir/system/raftLog/{nodeIdentifier}/ ### Raft Log -1. .data-${version} +1. .data-{version} + raft committed logs, only save the latest 1000(configurable) committed logs ### Raft Meta @@ -150,8 +150,8 @@ + temp file, to avoid damaging the logMeta when updating it ### Raft Catch Up -> under directory basedir/remote/${nodeIdentifier}/${storageGroupName}/${partitionNum}/ -1. ${fileName}.tsfile +> under directory basedir/remote/{nodeIdentifier}/{storageGroupName}/{partitionNum}/ +1. {fileName}.tsfile + remote TsFile, will be loaded during snapshot installation -2. ${fileName}.tsfile.mod +2. {fileName}.tsfile.mod + remote TsFile modification file, will be loaded during snapshot installation \ No newline at end of file diff --git a/docs/zh/UserGuide/Server/ServerFileList.md b/docs/zh/UserGuide/Server/ServerFileList.md index 89fe8af..7a4499d 100644 --- a/docs/zh/UserGuide/Server/ServerFileList.md +++ b/docs/zh/UserGuide/Server/ServerFileList.md @@ -62,29 +62,29 @@ #### WAL > 在basedir/wal目录下 -1. ${StroageName}-${TsFileName}/wal1 +1. {StroageName}-{TsFileName}/wal1 + 每个memtable会对应一个wal文件 #### TsFile -> 在basedir/data/sequence or unsequence/${StorageGroupName}/${TimePartitionId}/目录下 -1. ${time}-${version}-${mergeCnt}.tsfile +> 在basedir/data/sequence or unsequence/{StorageGroupName}/{TimePartitionId}/目录下 +1. {time}-{version}-{mergeCnt}.tsfile + 数据文件 -2. ${TsFileName}-${level}-${time}.vm +2. {TsFileName}-{level}-{time}.vm + 虚拟合并数据文件,用于优化查询,详细请看https://issues.apache.org/jira/browse/IOTDB-706 -3. ${TsFileName}.tsfile.mod +3. {TsFileName}.tsfile.mod + 更新文件,主要记录删除操作 #### TsFileResource -1. ${TsFileName}.tsfile.resource +1. {TsFileName}.tsfile.resource + TsFile的概要与索引文件 -2. ${TsFileName}.tsfile.resource.temp +2. {TsFileName}.tsfile.resource.temp + 临时文件,用于避免更新tsfile.resource时损坏tsfile.resource -3. ${TsFileName}.tsfile.resource.closing +3. {TsFileName}.tsfile.resource.closing + 关闭标记文件,用于标记TsFile处于关闭状态,重启后可以据此选择是关闭或继续写入该文件 #### Version -> 在basedir/system/storage_groups/${StorageGroupName}/${TimePartitionId} or upgrade目录下 -1. Version-${version} +> 在basedir/system/storage_groups/{StorageGroupName}/{TimePartitionId} or upgrade目录下 +1. Version-{version} + 版本号文件,使用文件名来记录当前最大的版本号 #### Upgrade @@ -93,7 +93,7 @@ + 记录升级进度 #### Merge -> 在basedir/system/storage_groups/${StrorageGroup}/目录下 +> 在basedir/system/storage_groups/{StrorageGroup}/目录下 1. merge.mods + 记录合并过程中发生的删除等操作 2. merge.log @@ -107,7 +107,7 @@ #### CompressRatio > 在basedir/system/compression_ration目录下 -1. Ration-${compressionRatioSum}-${calTimes} +1. Ration-{compressionRatioSum}-{calTimes} + 记录每个文件的压缩率 --- @@ -125,15 +125,15 @@ + 本地节点在集群中的唯一标识 2. partitions + 分区表文件,记录数据分布信息 -3. ${time}_${random}.task +3. {time}_{random}.task + pullSnapshotTask文件,记录的是slot和owner,当一个节点加入集群时,会创建这个文件来跟踪数据拉取情况 - + 在basedir/raft/${nodeIdentifier}/snapshot_task/目录下 + + 在basedir/raft/{nodeIdentifier}/snapshot_task/目录下 ## Raft相关文件 -> 在basedir/system/raftLog/${nodeIdentifier}/目录下 +> 在basedir/system/raftLog/{nodeIdentifier}/目录下 ### Raft Log -1. .data-${version} +1. .data-{version} + raft committed log, 默认只保留最新的1000条日志 ### Raft Meta @@ -146,8 +146,8 @@ + 临时文件,用于更新logMeta时防止损坏旧的logMeta文件 ### Raft Catch Up -> 在basedir/remote/${nodeIdentifier}/${storageGroupName}/${partitionNum}/目录下 -1. ${fileName}.tsfile +> 在basedir/remote/{nodeIdentifier}/{storageGroupName}/{partitionNum}/目录下 +1. {fileName}.tsfile + 远程TsFile,拉取完毕会load进对应的存储组数据目录下 -2. ${fileName}.tsfile.mod +2. {fileName}.tsfile.mod + 远程更新文件TsFile.mod,拉取完毕会load进对应的存储组数据目录下 \ No newline at end of file diff --git a/docs/zh/UserGuide/System Tools/NodeTool.md b/docs/zh/UserGuide/System Tools/NodeTool.md index ab8e730..a29719c 100644 --- a/docs/zh/UserGuide/System Tools/NodeTool.md +++ b/docs/zh/UserGuide/System Tools/NodeTool.md @@ -20,11 +20,15 @@ --> # 工具介绍 + IoTDB集群版为您提供了NodeTool Shell工具用于监控指定集群的工作状态,您可以通过运行多种指令获取集群各项状态。 下面具体介绍每个指令的使用方式及示例,其中$IOTDB_CLUSTER_HOME表示IoTDB分布式的安装目录所在路径。 + # 使用说明 + ## 运行方式 + NodeTool Shell工具启动脚本位于$IOTDB_CLUSTER_HOME/bin文件夹下,启动时可以指定集群运行的IP和PORT。 其中IP为您期望连接的节点的IP,PORT为IoTDB集群启动时指定的JMX服务端口号,分别默认为127.0.0.1和31999。 @@ -32,11 +36,15 @@ NodeTool Shell工具启动脚本位于$IOTDB_CLUSTER_HOME/bin文件夹下,启 如果您需要监控远程集群或修改了JMX服务端口号,请通过启动参数-h和-p项来使用实际的IP和PORT。 ## 指令说明 + 在分布式系统中,一个节点由节点IP,元数据端口和数据端口来标识,即Node\<IP:METAPORT:DATAPORT>。 + ### 展示节点环 + IoTDB集群版采用一致性哈希的方式实现数据分布,用户可以通过打印哈希环信息了解每个节点在环中的位置。 1.输入 + > 打印哈希环的指令为ring 2.输出 @@ -71,6 +79,7 @@ Node Identifier Node 上述输出表示当前集群共有3个节点,按照节点标识从小到大输出结果。 ### 查询数据分区和元数据分区 + IoTDB集群版的时间序列元数据按照存储组分给多个数据组,其中存储组和数据组为多对一的关系, 即同一个存储组的时间序列元数据只存在于同一个数据组,一个数据组可能包含多个存储组的时间序列元数据; @@ -81,6 +90,7 @@ IoTDB集群版的时间序列元数据按照存储组分给多个数据组,其 通过该指令,用户可以获知某个路径下的元数据或数据具体存储在哪些节点下。 1.输入 + > 查询数据分区信息的指令为partition,参数具体说明如下: |参数名|参数说明|示例| @@ -104,14 +114,18 @@ IoTDB集群版的时间序列元数据按照存储组分给多个数据组,其 不同系统的输入指令示例如下: Linux系统与MacOS系统: + ``` Shell > ./bin/nodetool.sh -h 127.0.0.1 -p 31999 partition -path root.guangzhou.d1 ``` + Windows系统: + ``` Shell > .\bin\nodetool.bat -h 127.0.0.1 -p 31999 partition -path root.guangzhou.d1 ``` 回车后即可执行指令。示例指令的输出如下: + ``` DATA<root.guangzhou.d1, 1576723735188, 1576723735188> -> [127.0.0.1:9003:40010, 127.0.0.1:9004:40011] ``` @@ -121,14 +135,19 @@ DATA<root.guangzhou.d1, 1576723735188, 1576723735188> -> [127.0.0.1:9003:40010, 不同系统的输入指令示例如下: Linux系统与MacOS系统: + ``` Shell > ./bin/nodetool.sh -h 127.0.0.1 -p 31999 partition -path root.guangzhou.d1 -st 1576624778159 -et 1576724778159 ``` + Windows系统: + ``` Shell > .\bin\nodetool.bat -h 127.0.0.1 -p 31999 partition -path root.guangzhou.d1 -st 1576624778159 -et 1576724778159 ``` + 回车后即可执行指令。示例指令的输出如下: + ``` DATA<root.guangzhou.d1, 1576627200000, 1576713599999> -> [127.0.0.1:9005:40012, 127.0.0.1:9003:40010] DATA<root.guangzhou.d1, 1576713600000, 1576724778159> -> [127.0.0.1:9003:40010, 127.0.0.1:9004:40011] @@ -140,23 +159,32 @@ DATA<root.guangzhou.d1, 1576624778159, 1576627199999> -> [127.0.0.1:9004:40011, 不同系统的输入指令示例如下: Linux系统与MacOS系统: + ``` Shell > ./bin/nodetool.sh -h 127.0.0.1 -p 31999 partition -path root.guangzhou.d1 -m ``` + Windows系统: + ``` Shell > .\bin\nodetool.bat -h 127.0.0.1 -p 31999 partition -path root.guangzhou.d1 -m ``` + 回车后即可执行指令。示例指令的输出如下: + ``` DATA<root.guangzhou.d1, 1576723735188, 1576723735188> -> [127.0.0.1:9003:40010, 127.0.0.1:9004:40011] ``` + 上述输出表示root.t1.d1所属的数据分区包含2个节点,其中127.0.0.1:9003:40010为header节点。 ### 查询节点管理的槽数 + IoTDB集群版将哈希环划分为固定数量(默认10000)个槽,并由集群管理组(元数据组)的leader将槽划分各个数据组。通过该指令,用户可以获知数据组管理的槽数。 + 1. 输入 + > 查询节点对应数据分区信息的指令为host,参数具体说明如下: |参数名|参数说明|示例| @@ -180,29 +208,39 @@ Linux系统与MacOS系统: ``` Shell > ./bin/nodetool.sh -h 127.0.0.1 -p 31999 host ``` + Windows系统: + ``` Shell > .\bin\nodetool.bat -h 127.0.0.1 -p 31999 host ``` + 回车后即可执行指令。示例指令的输出如下: + ``` Raft group Slot Number (127.0.0.1:9003:40010, 127.0.0.1:9004:40011) -> 3333 (127.0.0.1:9005:40012, 127.0.0.1:9003:40010) -> 3334 ``` + + 所有分区 不同系统的输入指令示例如下: Linux系统与MacOS系统: + ``` Shell > ./bin/nodetool.sh -h 127.0.0.1 -p 31999 host -a ``` + Windows系统: + ``` Shell > .\bin\nodetool.bat -h 127.0.0.1 -p 31999 host -a ``` + 回车后即可执行指令。示例指令的输出如下: + ``` Raft group Slot Number (127.0.0.1:9003:40010, 127.0.0.1:9004:40011) -> 3333 @@ -211,31 +249,40 @@ Raft group Slot Number ``` ### 查询节点状态 + IoTDB集群版包含多个节点,对于任意节点都存在因为网络、硬件等问题导致无法正常提供服务的可能。 通过该指令,用户即可获知集群中所有节点当前的状态。 1.输入 + > 查询节点状态的指令为status,无其他参数。 2.输出 + > 输出为多行字符串,其中每行字符串为一个键值对,其中键表示节点(IP:METAPORT:DATAPORT), > 值表示该节点的状态,“on”为正常,“off”为不正常,格式为\<key -> value>。 3.示例 + > 假设当前集群运行在127.0.0.1:9003:40010, > 127.0.0.1:9004:40011和127.0.0.1:9005:40012三个节点上, 副本数为2。 不同系统的输入指令示例如下: Linux系统与MacOS系统: + ``` Shell > ./bin/nodetool.sh -h 127.0.0.1 -p 31999 status ``` + Windows系统: + ``` Shell > .\bin\nodetool.bat -h 127.0.0.1 -p 31999 status ``` + 回车后即可执行指令。示例指令的输出如下: + ``` Node Status 127.0.0.1:9003:40010 -> on @@ -243,4 +290,5 @@ Node Status 127.0.0.1:9004:40011 -> on ``` + 上述输出表示127.0.0.1:9003:40010节点和127.0.0.1:9004:40011节点状态正常,127.0.0.1:9005:40012节点无法提供服务。 diff --git a/docs/zh/chinese-render-template.latex b/docs/zh/chinese-render-template.latex new file mode 100644 index 0000000..b98dc03 --- /dev/null +++ b/docs/zh/chinese-render-template.latex @@ -0,0 +1,201 @@ +\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$$if(papersize)$$papersize$,$endif$]{$documentclass$} +\def\tightlist{} +\usepackage{booktabs} +\usepackage{geometry} % 設定邊界 +\geometry{ + top=1in, + inner=1in, + outer=1in, + bottom=1in, + headheight=3ex, + headsep=2ex +} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{amssymb,amsmath} +\usepackage{ifxetex,ifluatex} +\usepackage{fixltx2e} % provides \textsubscript +% use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[utf8]{inputenc} +$if(euro)$ + \usepackage{eurosym} +$endif$ +\else % if luatex or xelatex + \usepackage{fontspec} % 允許設定字體 + \usepackage{xeCJK} % 分開設置中英文字型 + \setCJKmainfont{PingFang SC} % 設定中文字型 + \setmainfont{Georgia} % 設定英文字型 + \setromanfont{Georgia} % 字型 + \setmonofont{Courier New} + \linespread{1.2}\selectfont % 行距 + \XeTeXlinebreaklocale "zh" % 針對中文自動換行 + \XeTeXlinebreakskip = 0pt plus 1pt % 字與字之間加入0pt至1pt的間距,確保左右對整齊 + \parindent 0em % 段落縮進 + \setlength{\parskip}{20pt} % 段落之間的距離 + \ifxetex + \usepackage{xltxtra,xunicode} + \fi + \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase} + \newcommand{\euro}{€} +$if(mainfont)$ + \setmainfont{$mainfont$} +$endif$ +$if(sansfont)$ + \setsansfont{$sansfont$} +$endif$ +$if(monofont)$ + \setmonofont{$monofont$} +$endif$ +$if(mathfont)$ + \setmathfont{$mathfont$} +$endif$ +\fi +% use microtype if available +\IfFileExists{microtype.sty}{\usepackage{microtype}}{} +$if(geometry)$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +$if(natbib)$ +\usepackage{natbib} +\bibliographystyle{plainnat} +$endif$ +$if(biblatex)$ +\usepackage{biblatex} +$if(biblio-files)$ +\bibliography{$biblio-files$} +$endif$ +$endif$ +$if(listings)$ +\usepackage{listings} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +$endif$ +$if(tables)$ +\usepackage{longtable} +$endif$ +$if(graphics)$ +\usepackage{graphicx} +% We will generate all images so they have a width \maxwidth. This means +% that they will get their normal width if they fit onto the page, but +% are scaled down if they would overflow the margins. +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth +\else\Gin@nat@width\fi} +\makeatother +\let\Oldincludegraphics\includegraphics +\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}} +$endif$ +\ifxetex + \usepackage[setpagesize=false, % page size defined by xetex + unicode=false, % unicode breaks when used with xetex + xetex]{hyperref} +\else + \usepackage[unicode=true]{hyperref} +\fi +\hypersetup{breaklinks=true, + bookmarks=true, + pdfauthor={$author-meta$}, + pdftitle={$title-meta$}, + colorlinks=true, + urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$, + linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$, + pdfborder={0 0 0}} +\urlstyle{same} % don't use monospace font for urls +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$if(strikeout)$ +\usepackage[normalem]{ulem} +% avoid problems with \sout in headers with hyperref: +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +\setlength{\parindent}{0pt} +%\setlength{\parskip}{6pt plus 2pt minus 1pt} +\setlength{\emergencystretch}{3em} % prevent overfull lines + +\title{\huge 在OSX平台上的XeLaTeX中文測試} % 設置標題,使用巨大字體 +\author{FoolEgg.com} % 設置作者 +\date{February 2013} % 設置日期 +\usepackage{titling} +\setlength{\droptitle}{-8em} % 將標題移動至頁面的上面 + +\usepackage{fancyhdr} +\usepackage{lastpage} +\pagestyle{fancyplain} + +$if(numbersections)$ +\setcounter{secnumdepth}{5} +$else$ +\setcounter{secnumdepth}{0} +$endif$ +$if(verbatim-in-note)$ +\VerbatimFootnotes % allows verbatim text in footnotes +$endif$ +$if(lang)$ +\ifxetex + \usepackage{polyglossia} + \setmainlanguage{$mainlang$} +\else + \usepackage[$lang$]{babel} +\fi +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ + +$if(title)$ +\title{$title$} +$endif$ +\author{$for(author)$$author$$sep$ \and $endfor$} +\date{$date$} + +\begin{document} +$if(title)$ +\maketitle +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ +$if(toc)$ +{ +\hypersetup{linkcolor=black} +\setcounter{tocdepth}{$toc-depth$} +\tableofcontents +} +$endif$ +$body$ + +$if(natbib)$ +$if(biblio-files)$ +$if(biblio-title)$ +$if(book-class)$ +\renewcommand\bibname{$biblio-title$} +$else$ +\renewcommand\refname{$biblio-title$} +$endif$ +$endif$ +\bibliography{$biblio-files$} + +$endif$ +$endif$ +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document}
