blob: dcd5cf9671a6b24a39565b9f306fe22fe20a5795 [file] [log] [blame]
<!doctype html>
<html lang="zh-CN" data-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-beta.66" />
<meta name="theme" content="VuePress Theme Hope" />
<link rel="alternate" hreflang="en-us" href="https://iotdb.apache.org/UserGuide/Master/Deployment-and-Maintenance/Deployment-Guide_timecho.html"><meta property="og:url" content="https://iotdb.apache.org/zh/UserGuide/Master/Deployment-and-Maintenance/Deployment-Guide_timecho.html"><meta property="og:site_name" content="IoTDB Website"><meta property="og:title" content="部署指导"><meta property="og:description" content="单机版部署 本文将介绍关于 IoTDB 使用的基本流程,如果需要更多信息,请浏览我们官网的 指引 (../IoTDB-Introduction/What-is-IoTDB.md). 安装环境 安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。 设置最大文件打开数为 65535。 安装步骤 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="2023-10-25T10:37:38.000Z"><meta property="article:modified_time" content="2023-10-25T10:37:38.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"部署指导","image":[""],"dateModified":"2023-10-25T10:37:38.000Z","author":[]}</script><link rel="icon" href="/favicon.ico"><meta name="Description" content="Apache IoTDB: Time Series Database for IoT"><meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management,时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据"><meta name="baidu-site-verification" content="wfKETzB3OT"><meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo"><title>部署指导 | IoTDB Website</title><meta name="description" content="单机版部署 本文将介绍关于 IoTDB 使用的基本流程,如果需要更多信息,请浏览我们官网的 指引 (../IoTDB-Introduction/What-is-IoTDB.md). 安装环境 安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。 设置最大文件打开数为 65535。 安装步骤 IoTDB 支持多...">
<style>
:root {
--bg-color: #fff;
}
html[data-theme="dark"] {
--bg-color: #1d1e1f;
}
html,
body {
background: var(--bg-color);
}
</style>
<script>
const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
const systemDarkMode =
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;
if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) {
document.documentElement.setAttribute("data-theme", "dark");
}
</script>
<link rel="preload" href="/assets/style-35dc1830.css" as="style"><link rel="stylesheet" href="/assets/style-35dc1830.css">
<link rel="modulepreload" href="/assets/app-5cdcb249.js"><link rel="modulepreload" href="/assets/Deployment-Guide_timecho.html-fa5516b3.js"><link rel="modulepreload" href="/assets/Deployment-Guide_timecho.html-ff29dd20.js">
</head>
<body>
<div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container no-sidebar has-toc"><!--[--><header id="navbar" class="vp-navbar hide-icon"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="vp-link vp-brand" href="/zh/"><img class="vp-nav-logo" src="/logo.png" alt="IoTDB Website"><!----><span class="vp-site-name hide-in-pad">IoTDB Website</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><div id="docsearch-container"></div><nav class="vp-nav-links"><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="文档"><span class="title"><!---->文档</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/UserGuide/V1.2.x/QuickStart/QuickStart.html"><!---->v1.2.x<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/UserGuide/V1.1.x/QuickStart/QuickStart.html"><!---->v1.1.x<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/UserGuide/V1.0.x/QuickStart/QuickStart.html"><!---->v1.0.x<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/UserGuide/V0.13.x/QuickStart/QuickStart.html"><!---->v0.13.x<!----></a></li></ul></button></div></div><div class="nav-item hide-in-mobile"><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177051872" rel="noopener noreferrer" target="_blank" aria-label="系统设计" class="nav-link"><!---->系统设计<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="nav-item hide-in-mobile"><a class="vp-link nav-link" href="/zh/Download/"><!---->下载<!----></a></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="社区"><span class="title"><!---->社区</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Community/About.html"><!---->关于社区<!----></a></li><li class="dropdown-item"><a href="https://cwiki.apache.org/confluence/display/iotdb" rel="noopener noreferrer" target="_blank" aria-label="Wiki" class="nav-link"><!---->Wiki<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Community/Community-Project-Committers.html"><!---->开发人员<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Community/Community-Powered-By.html"><!---->技术支持<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/Community/Materials.html"><!---->活动与报告<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Community/Feedback.html"><!---->交流与反馈<!----></a></li></ul></button></div></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="开发"><span class="title"><!---->开发</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/VoteRelease.html"><!---->如何投票<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/HowToCommit.html"><!---->如何提交代码<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/HowToJoin.html"><!---->成为Contributor<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/Committer.html"><!---->成为Committer<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/ContributeGuide.html"><!---->项目开发指南<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/HowtoContributeCode.html"><!---->技术贡献指南<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/format-changelist.html"><!---->TsFile的更改列表<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link" href="/zh/Development/rpc-changelist.html"><!---->RPC变更清单<!----></a></li></ul></button></div></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="ASF"><span class="title"><!---->ASF</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a href="https://www.apache.org/" rel="noopener noreferrer" target="_blank" aria-label="基金会" class="nav-link"><!---->基金会<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/licenses/" rel="noopener noreferrer" target="_blank" aria-label="许可证" class="nav-link"><!---->许可证<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/security/" rel="noopener noreferrer" target="_blank" aria-label="安全" class="nav-link"><!---->安全<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/foundation/sponsorship.html" rel="noopener noreferrer" target="_blank" aria-label="赞助" class="nav-link"><!---->赞助<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/foundation/thanks.html" rel="noopener noreferrer" target="_blank" aria-label="致谢" class="nav-link"><!---->致谢<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/events/current-event" rel="noopener noreferrer" target="_blank" aria-label="活动" class="nav-link"><!---->活动<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li></ul></button></div></div></nav><div class="nav-item"><div class="dropdown-wrapper i18n-dropdown"><button type="button" class="dropdown-title" aria-label="选择语言"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon i18n-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="i18n icon" style="width:1rem;height:1rem;vertical-align:middle;"><path d="M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"></path></svg><!--]--><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="vp-link nav-link" href="/UserGuide/Master/Deployment-and-Maintenance/Deployment-Guide_timecho.html"><!---->English<!----></a></li><li class="dropdown-item"><a class="vp-link nav-link active" href="/zh/UserGuide/Master/Deployment-and-Maintenance/Deployment-Guide_timecho.html"><!---->简体中文<!----></a></li></ul></button></div></div><div class="nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><div class="nav-item vp-repo"><a class="vp-repo-link" href="https://github.com/apache/iotdb" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"></path></svg></a></div><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!----><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->部署指导</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="写作日期"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><path d="M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"></path></svg><span><!----></span><meta property="datePublished" content="2023-10-25T10:37:38.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><path d="M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"></path></svg><span>大约 23 分钟</span><meta property="timeRequired" content="PT23M"></span><!----><!----></div><hr></div><div class="toc-place-holder"><aside id="toc"><!--[--><!----><!--]--><div class="toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><path d="M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"></path></svg></button></div><div class="toc-wrapper"><ul class="toc-list"><!--[--><li class="toc-item"><a class="vp-link toc-link level2" href="/#单机版部署">单机版部署</a></li><li><ul class="toc-list"><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#安装环境">安装环境</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#安装步骤">安装步骤</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#软件目录结构">软件目录结构</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#iotdb-试用">IoTDB 试用</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level2" href="/#集群版部署">集群版部署</a></li><li><ul class="toc-list"><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#集群管理工具部署">集群管理工具部署</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level2" href="/#手动部署">手动部署</a></li><li><ul class="toc-list"><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#前置检查">前置检查</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#安装包获取">安装包获取</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#安装包说明">安装包说明</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#集群安装配置">集群安装配置</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#集群操作">集群操作</a></li><!----><!--]--><!--[--><li class="toc-item"><a class="vp-link toc-link level3" href="/#常见问题">常见问题</a></li><!----><!--]--></ul></li><!--]--></ul><div class="toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!----><div class="theme-hope-content"><!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
--><h1 id="部署指导" tabindex="-1"><a class="header-anchor" href="#部署指导" aria-hidden="true">#</a> 部署指导</h1><h2 id="单机版部署" tabindex="-1"><a class="header-anchor" href="#单机版部署" aria-hidden="true">#</a> 单机版部署</h2><p>本文将介绍关于 IoTDB 使用的基本流程,如果需要更多信息,请浏览我们官网的 <a href="/zh/UserGuide/Master/IoTDB-Introduction/What-is-IoTDB.html" class="">指引</a>.</p><h3 id="安装环境" tabindex="-1"><a class="header-anchor" href="#安装环境" aria-hidden="true">#</a> 安装环境</h3><p>安装前需要保证设备上配有 JDK&gt;=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。</p><p>设置最大文件打开数为 65535。</p><h3 id="安装步骤" tabindex="-1"><a class="header-anchor" href="#安装步骤" aria-hidden="true">#</a> 安装步骤</h3><p>IoTDB 支持多种安装途径。用户可以使用三种方式对 IoTDB 进行安装——下载二进制可运行程序、使用源码、使用 docker 镜像。</p><ul><li><p>使用源码:您可以从代码仓库下载源码并编译,具体编译方法见下方。</p></li><li><p>二进制可运行程序:请从 <a href="https://iotdb.apache.org/Download/" target="_blank" rel="noopener noreferrer">下载<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a> 页面下载最新的安装包,解压后即完成安装。</p></li><li><p>使用 Docker 镜像:dockerfile 文件位于<a href="https://github.com/apache/iotdb/blob/master/docker/src/main" target="_blank" rel="noopener noreferrer">github<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li></ul><h3 id="软件目录结构" tabindex="-1"><a class="header-anchor" href="#软件目录结构" aria-hidden="true">#</a> 软件目录结构</h3><ul><li>sbin 启动和停止脚本目录</li><li>conf 配置文件目录</li><li>tools 系统工具目录</li><li>lib 依赖包目录</li></ul><h3 id="iotdb-试用" tabindex="-1"><a class="header-anchor" href="#iotdb-试用" aria-hidden="true">#</a> IoTDB 试用</h3><p>用户可以根据以下操作对 IoTDB 进行简单的试用,若以下操作均无误,则说明 IoTDB 安装成功。</p><h4 id="启动-iotdb" tabindex="-1"><a class="header-anchor" href="#启动-iotdb" aria-hidden="true">#</a> 启动 IoTDB</h4><p>IoTDB 是一个基于分布式系统的数据库。要启动 IoTDB ,你可以先启动单机版(一个 ConfigNode 和一个 DataNode)来检查安装。</p><p>用户可以使用 sbin 文件夹下的 start-standalone 脚本启动 IoTDB。</p><p>Linux 系统与 MacOS 系统启动命令如下:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>&gt; bash sbin/start-standalone.sh
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Windows 系统启动命令如下:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>&gt; sbin\start-standalone.bat
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>注意:目前,要使用单机模式,你需要保证所有的地址设置为 127.0.0.1,如果需要从非 IoTDB 所在的机器访问此IoTDB,请将配置项 <code>dn_rpc_address</code> 修改为 IoTDB 所在的机器 IP。副本数设置为1。并且,推荐使用 SimpleConsensus,因为这会带来额外的效率。这些现在都是默认配置。</p><h2 id="集群版部署" tabindex="-1"><a class="header-anchor" href="#集群版部署" aria-hidden="true">#</a> 集群版部署</h2><h3 id="集群管理工具部署" tabindex="-1"><a class="header-anchor" href="#集群管理工具部署" aria-hidden="true">#</a> 集群管理工具部署</h3><p>IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。</p><h4 id="部署集群管理工具" tabindex="-1"><a class="header-anchor" href="#部署集群管理工具" aria-hidden="true">#</a> 部署集群管理工具</h4><h5 id="环境依赖" tabindex="-1"><a class="header-anchor" href="#环境依赖" aria-hidden="true">#</a> 环境依赖</h5><p>IoTDB 要部署的机器需要依赖jdk 8及以上版本、lsof 或者 netstat、unzip功能如果没有请自行安装,可以参考文档最后的一节环境所需安装命令。</p><p>提示:IoTDB集群管理工具需要使用具有root权限的账号</p><h5 id="部署方法" tabindex="-1"><a class="header-anchor" href="#部署方法" aria-hidden="true">#</a> 部署方法</h5><h6 id="下载安装" tabindex="-1"><a class="header-anchor" href="#下载安装" aria-hidden="true">#</a> 下载安装</h6><p>本工具为IoTDB企业版配套工具,您可以联系您的销售获取工具下载方式。</p><p>注意:由于二进制包仅支持GLIBC2.17 及以上版本,因此最低适配Centos7版本</p><ul><li>在在iotd目录内输入以下指令后:</li></ul><div class="language-bash line-numbers-mode" data-ext="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"><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"><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="#集群配置文件介绍" aria-hidden="true">#</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><table><thead><tr><th>参数</th><th>说明</th><th>是否必填</th></tr></thead><tbody><tr><td>iotdb_zip_dir</td><td>IoTDB 部署分发目录,如果值为空则从<code>iotdb_download_url</code>指定地址下载</td><td>非必填</td></tr><tr><td>iotdb_download_url</td><td>IoTDB 下载地址,如果<code>iotdb_zip_dir</code> 没有值则从指定地址下载</td><td>非必填</td></tr><tr><td>jdk_tar_dir</td><td>jdk 本地目录,可使用该 jdk 路径进行上传部署至目标节点。</td><td>非必填</td></tr><tr><td>jdk_deploy_dir</td><td>jdk 远程机器部署目录,会将 jdk 部署到目标节点该文件夹下最终部署完成的路径是<code>&lt;jdk_deploy_dir&gt;/jdk_iotdb</code></td><td>非必填</td></tr><tr><td>iotdb_lib_dir</td><td>IoTDB lib 目录或者IoTDB 的lib 压缩包仅支持.zip格式 ,仅用于IoTDB升级,默认处于注释状态,如需升级请打开注释</td><td>非必填</td></tr><tr><td>user</td><td>ssh登陆部署机器的用户名</td><td>必填</td></tr><tr><td>password</td><td>ssh登录的密码, 如果password未指定使用pkey登陆, 请确保已配置节点之间ssh登录免密钥</td><td>非必填</td></tr><tr><td>pkey</td><td>密钥登陆如果password 有值优先使用password否则使用pkey登陆</td><td>非必填</td></tr><tr><td>ssh_port</td><td>ssh登录端口</td><td>必填</td></tr><tr><td>deploy_dir</td><td>iotdb 部署目录,会把 iotdb 部署到目标节点该文件夹下最终部署完成的路径是<code>&lt;deploy_dir&gt;/iotdb</code></td><td>必填</td></tr><tr><td><a href="http://datanode-env.sh" target="_blank" rel="noopener noreferrer">datanode-env.sh<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></td><td>对应<code>iotdb/config/datanode-env.sh</code></td><td>非必填</td></tr><tr><td><a href="http://confignode-env.sh" target="_blank" rel="noopener noreferrer">confignode-env.sh<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></td><td>对应<code>iotdb/config/confignode-env.sh</code></td><td>非必填</td></tr><tr><td>iotdb-common.properties</td><td>对应<code>iotdb/config/iotdb-common.properties</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>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></tbody></table><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="#命令格式" aria-hidden="true">#</a> 命令格式</h4><p>本工具的基本用法为:</p><div class="language-bash line-numbers-mode" data-ext="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>
</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"><pre class="language-bash"><code>iotd cluster deploy default_cluster
</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="#详细命令执行过程" aria-hidden="true">#</a> 详细命令执行过程</h4><p>下面的命令都是以default_cluster.yaml 为示例执行的,用户可以修改成自己的集群文件来执行</p><h5 id="检查集群部署环境命令" tabindex="-1"><a class="header-anchor" href="#检查集群部署环境命令" aria-hidden="true">#</a> 检查集群部署环境命令</h5><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>iotd cluster check default_cluster
</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="#部署集群命令" aria-hidden="true">#</a> 部署集群命令</h5><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>iotd cluster deploy default_cluster
</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="#启动集群命令" aria-hidden="true">#</a> 启动集群命令</h5><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>iotd cluster check default_cluster
</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"><pre class="language-bash"><code>iotd cluster start default_cluster <span class="token parameter variable">-N</span> datanode_1
</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"><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
</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="#查看集群状态命令" aria-hidden="true">#</a> 查看集群状态命令</h5><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>iotd cluster show default_cluster
</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"><pre class="language-bash"><code>iotd cluster show default_cluster details
</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="#停止集群命令" aria-hidden="true">#</a> 停止集群命令</h5><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>iotd cluster stop default_cluster
</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"><pre class="language-bash"><code>iotd cluster stop default_cluster <span class="token parameter variable">-N</span> datanode_1
</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"><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
</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="#手动部署" aria-hidden="true">#</a> 手动部署</h2><h3 id="前置检查" tabindex="-1"><a class="header-anchor" href="#前置检查" aria-hidden="true">#</a> 前置检查</h3><ol><li>JDK&gt;=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。</li><li>设置最大文件打开数为 65535。</li><li>关闭交换内存。</li><li>首次启动ConfigNode节点时,确保已清空ConfigNode节点的data/confignode目录;首次启动DataNode节点时,确保已清空DataNode节点的data/datanode目录。</li><li>如果整个集群处在可信环境下,可以关闭机器上的防火墙选项。</li><li>在集群默认配置中,ConfigNode 会占用端口 10710 和 10720,DataNode 会占用端口 6667、10730、10740、10750 和 10760,<br> 请确保这些端口未被占用,或者手动修改配置文件中的端口配置。</li></ol><h3 id="安装包获取" tabindex="-1"><a class="header-anchor" href="#安装包获取" aria-hidden="true">#</a> 安装包获取</h3><p>你可以选择下载二进制文件(见 3.1)或从源代码编译(见 3.2)。</p><h4 id="下载二进制文件" tabindex="-1"><a class="header-anchor" href="#下载二进制文件" aria-hidden="true">#</a> 下载二进制文件</h4><ol><li>打开官网<a href="https://iotdb.apache.org/Download/" target="_blank" rel="noopener noreferrer">Download Page<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>下载 IoTDB 1.0.0 版本的二进制文件。</li><li>解压得到 apache-iotdb-1.0.0-all-bin 目录。</li></ol><h4 id="使用源码编译" tabindex="-1"><a class="header-anchor" href="#使用源码编译" aria-hidden="true">#</a> 使用源码编译</h4><h5 id="下载源码" tabindex="-1"><a class="header-anchor" href="#下载源码" aria-hidden="true">#</a> 下载源码</h5><p><strong>Git</strong></p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>git clone https://github.com/apache/iotdb.git
git checkout v1.0.0
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>官网下载</strong></p><ol><li>打开官网<a href="https://iotdb.apache.org/Download/" target="_blank" rel="noopener noreferrer">Download Page<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>下载 IoTDB 1.0.0 版本的源码。</li><li>解压得到 apache-iotdb-1.0.0 目录。</li></ol><h5 id="编译源码" tabindex="-1"><a class="header-anchor" href="#编译源码" aria-hidden="true">#</a> 编译源码</h5><p>在 IoTDB 源码根目录下:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>mvn clean package -pl distribution -am -DskipTests
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>编译成功后,可在目录<br><strong>distribution/target/apache-iotdb-1.0.0-SNAPSHOT-all-bin/apache-iotdb-1.0.0-SNAPSHOT-all-bin</strong><br> 找到集群版本的二进制文件。</p><h3 id="安装包说明" tabindex="-1"><a class="header-anchor" href="#安装包说明" aria-hidden="true">#</a> 安装包说明</h3><p>打开 apache-iotdb-1.0.0-SNAPSHOT-all-bin,可见以下目录:</p><table><thead><tr><th><strong>目录</strong></th><th><strong>说明</strong></th></tr></thead><tbody><tr><td>conf</td><td>配置文件目录,包含 ConfigNode、DataNode、JMX 和 logback 等配置文件</td></tr><tr><td>data</td><td>数据文件目录,包含 ConfigNode 和 DataNode 的数据文件</td></tr><tr><td>lib</td><td>库文件目录</td></tr><tr><td>licenses</td><td>证书文件目录</td></tr><tr><td>logs</td><td>日志文件目录,包含 ConfigNode 和 DataNode 的日志文件</td></tr><tr><td>sbin</td><td>脚本目录,包含 ConfigNode 和 DataNode 的启停移除脚本,以及 Cli 的启动脚本等</td></tr><tr><td>tools</td><td>系统工具目录</td></tr></tbody></table><h3 id="集群安装配置" tabindex="-1"><a class="header-anchor" href="#集群安装配置" aria-hidden="true">#</a> 集群安装配置</h3><h4 id="集群安装" tabindex="-1"><a class="header-anchor" href="#集群安装" aria-hidden="true">#</a> 集群安装</h4><p><code>apache-iotdb-1.0.0-SNAPSHOT-all-bin</code> 包含 ConfigNode 和 DataNode,<br> 请将安装包部署于你目标集群的所有机器上,推荐将安装包部署于所有服务器的相同目录下。</p><p>如果你希望先在一台服务器上尝试部署 IoTDB 集群,请参考<br><a href="https://iotdb.apache.org/zh/UserGuide/Master/QuickStart/ClusterQuickStart.html" target="_blank" rel="noopener noreferrer">Cluster Quick Start<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><h4 id="集群配置" tabindex="-1"><a class="header-anchor" href="#集群配置" aria-hidden="true">#</a> 集群配置</h4><p>接下来需要修改每个服务器上的配置文件,登录服务器,<br> 并将工作路径切换至 <code>apache-iotdb-1.0.0-SNAPSHOT-all-bin</code><br> 配置文件在 <code>./conf</code> 目录内。</p><p>对于所有部署 ConfigNode 的服务器,需要修改通用配置(见 5.2.1)和 ConfigNode 配置(见 5.2.2)。</p><p>对于所有部署 DataNode 的服务器,需要修改通用配置(见 5.2.1)和 DataNode 配置(见 5.2.3)。</p><h5 id="通用配置" tabindex="-1"><a class="header-anchor" href="#通用配置" aria-hidden="true">#</a> 通用配置</h5><p>打开通用配置文件 ./conf/iotdb-common.properties,<br> 可根据 <a href="https://iotdb.apache.org/zh/UserGuide/Master/Cluster/Deployment-Recommendation.html" target="_blank" rel="noopener noreferrer">部署推荐<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a><br> 设置以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>说明</strong></th><th><strong>默认</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>节点希望加入的集群的名称</td><td>defaultCluster</td></tr><tr><td>config_node_consensus_protocol_class</td><td>ConfigNode 使用的共识协议</td><td>org.apache.iotdb.consensus.ratis.RatisConsensus</td></tr><tr><td>schema_replication_factor</td><td>元数据副本数,DataNode 数量不应少于此数目</td><td>1</td></tr><tr><td>schema_region_consensus_protocol_class</td><td>元数据副本组的共识协议</td><td>org.apache.iotdb.consensus.ratis.RatisConsensus</td></tr><tr><td>data_replication_factor</td><td>数据副本数,DataNode 数量不应少于此数目</td><td>1</td></tr><tr><td>data_region_consensus_protocol_class</td><td>数据副本组的共识协议。注:RatisConsensus 目前不支持多数据目录</td><td>org.apache.iotdb.consensus.iot.IoTConsensus</td></tr></tbody></table><p><strong>注意:上述配置项在集群启动后即不可更改,且务必保证所有节点的通用配置完全一致,否则节点无法启动。</strong></p><h5 id="confignode-配置" tabindex="-1"><a class="header-anchor" href="#confignode-配置" aria-hidden="true">#</a> ConfigNode 配置</h5><p>打开 ConfigNode 配置文件 ./conf/iotdb-confignode.properties,根据服务器/虚拟机的 IP 地址和可用端口,设置以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>说明</strong></th><th><strong>默认</strong></th><th><strong>用法</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>ConfigNode 在集群内部通讯使用的地址</td><td>127.0.0.1</td><td>设置为服务器的 IPV4 地址或域名</td></tr><tr><td>cn_internal_port</td><td>ConfigNode 在集群内部通讯使用的端口</td><td>10710</td><td>设置为任意未占用端口</td></tr><tr><td>cn_consensus_port</td><td>ConfigNode 副本组共识协议通信使用的端口</td><td>10720</td><td>设置为任意未占用端口</td></tr><tr><td>cn_target_config_node_list</td><td>节点注册加入集群时连接的 ConfigNode 的地址。注:只能配置一个</td><td>127.0.0.1:10710</td><td>对于 Seed-ConfigNode,设置为自己的 cn_internal_address:cn_internal_port;对于其它 ConfigNode,设置为另一个正在运行的 ConfigNode 的 cn_internal_address:cn_internal_port</td></tr></tbody></table><p><strong>注意:上述配置项在节点启动后即不可更改,且务必保证所有端口均未被占用,否则节点无法启动。</strong></p><h5 id="datanode-配置" tabindex="-1"><a class="header-anchor" href="#datanode-配置" aria-hidden="true">#</a> DataNode 配置</h5><p>打开 DataNode 配置文件 ./conf/iotdb-datanode.properties,根据服务器/虚拟机的 IP 地址和可用端口,设置以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>说明</strong></th><th><strong>默认</strong></th><th><strong>用法</strong></th></tr></thead><tbody><tr><td>dn_rpc_address</td><td>客户端 RPC 服务的地址</td><td>127.0.0.1</td><td>设置为服务器的 IPV4 地址或域名</td></tr><tr><td>dn_rpc_port</td><td>客户端 RPC 服务的端口</td><td>6667</td><td>设置为任意未占用端口</td></tr><tr><td>dn_internal_address</td><td>DataNode 在集群内部接收控制流使用的地址</td><td>127.0.0.1</td><td>设置为服务器的 IPV4 地址或域名</td></tr><tr><td>dn_internal_port</td><td>DataNode 在集群内部接收控制流使用的端口</td><td>10730</td><td>设置为任意未占用端口</td></tr><tr><td>dn_mpp_data_exchange_port</td><td>DataNode 在集群内部接收数据流使用的端口</td><td>10740</td><td>设置为任意未占用端口</td></tr><tr><td>dn_data_region_consensus_port</td><td>DataNode 的数据副本间共识协议通信的端口</td><td>10750</td><td>设置为任意未占用端口</td></tr><tr><td>dn_schema_region_consensus_port</td><td>DataNode 的元数据副本间共识协议通信的端口</td><td>10760</td><td>设置为任意未占用端口</td></tr><tr><td>dn_target_config_node_list</td><td>集群中正在运行的 ConfigNode 地址</td><td>127.0.0.1:10710</td><td>设置为任意正在运行的 ConfigNode 的 cn_internal_address:cn_internal_port,可设置多个,用逗号(&quot;,&quot;)隔开</td></tr></tbody></table><p><strong>注意:上述配置项在节点启动后即不可更改,且务必保证所有端口均未被占用,否则节点无法启动。</strong></p><h3 id="集群操作" tabindex="-1"><a class="header-anchor" href="#集群操作" aria-hidden="true">#</a> 集群操作</h3><h4 id="启动集群" tabindex="-1"><a class="header-anchor" href="#启动集群" aria-hidden="true">#</a> 启动集群</h4><p>本小节描述如何启动包括若干 ConfigNode 和 DataNode 的集群。<br> 集群可以提供服务的标准是至少启动一个 ConfigNode 且启动 不小于(数据/元数据)副本个数 的 DataNode。</p><p>总体启动流程分为三步:</p><ol><li>启动种子 ConfigNode</li><li>增加 ConfigNode(可选)</li><li>增加 DataNode</li></ol><h5 id="启动-seed-confignode" tabindex="-1"><a class="header-anchor" href="#启动-seed-confignode" aria-hidden="true">#</a> 启动 Seed-ConfigNode</h5><p><strong>集群第一个启动的节点必须是 ConfigNode,第一个启动的 ConfigNode 必须遵循本小节教程。</strong></p><p>第一个启动的 ConfigNode 是 Seed-ConfigNode,标志着新集群的创建。<br> 在启动 Seed-ConfigNode 前,请打开通用配置文件 ./conf/iotdb-common.properties,并检查如下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>已设置为期望的集群名称</td></tr><tr><td>config_node_consensus_protocol_class</td><td>已设置为期望的共识协议</td></tr><tr><td>schema_replication_factor</td><td>已设置为期望的元数据副本数</td></tr><tr><td>schema_region_consensus_protocol_class</td><td>已设置为期望的共识协议</td></tr><tr><td>data_replication_factor</td><td>已设置为期望的数据副本数</td></tr><tr><td>data_region_consensus_protocol_class</td><td>已设置为期望的共识协议</td></tr></tbody></table><p><strong>注意:</strong> 请根据<a href="https://iotdb.apache.org/zh/UserGuide/Master/Cluster/Deployment-Recommendation.html" target="_blank" rel="noopener noreferrer">部署推荐<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>配置合适的通用参数,这些参数在首次配置后即不可修改。</p><p>接着请打开它的配置文件 ./conf/iotdb-confignode.properties,并检查如下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>已设置为服务器的 IPV4 地址或域名</td></tr><tr><td>cn_internal_port</td><td>该端口未被占用</td></tr><tr><td>cn_consensus_port</td><td>该端口未被占用</td></tr><tr><td>cn_target_config_node_list</td><td>已设置为自己的内部通讯地址,即 cn_internal_address:cn_internal_port</td></tr></tbody></table><p>检查完毕后,即可在服务器上运行启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux 前台启动
bash ./sbin/start-confignode.sh
# Linux 后台启动
nohup bash ./sbin/start-confignode.sh &gt;/dev/null 2&gt;&amp;1 &amp;
# Windows
.\sbin\start-confignode.bat
</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></div><p>ConfigNode 的其它配置参数可参考<br><a href="https://iotdb.apache.org/zh/UserGuide/Master/Reference/ConfigNode-Config-Manual.html" target="_blank" rel="noopener noreferrer">ConfigNode 配置参数<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><h5 id="增加更多-confignode-可选" tabindex="-1"><a class="header-anchor" href="#增加更多-confignode-可选" aria-hidden="true">#</a> 增加更多 ConfigNode(可选)</h5><p><strong>只要不是第一个启动的 ConfigNode 就必须遵循本小节教程。</strong></p><p>可向集群添加更多 ConfigNode,以保证 ConfigNode 的高可用。常用的配置为额外增加两个 ConfigNode,使集群共有三个 ConfigNode。</p><p>新增的 ConfigNode 需要保证 ./conf/iotdb-common.properites 中的所有配置参数与 Seed-ConfigNode 完全一致,否则可能启动失败或产生运行时错误。<br> 因此,请着重检查通用配置文件中的以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>config_node_consensus_protocol_class</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>schema_replication_factor</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>schema_region_consensus_protocol_class</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>data_replication_factor</td><td>与 Seed-ConfigNode 保持一致</td></tr><tr><td>data_region_consensus_protocol_class</td><td>与 Seed-ConfigNode 保持一致</td></tr></tbody></table><p>接着请打开它的配置文件 ./conf/iotdb-confignode.properties,并检查以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cn_internal_address</td><td>已设置为服务器的 IPV4 地址或域名</td></tr><tr><td>cn_internal_port</td><td>该端口未被占用</td></tr><tr><td>cn_consensus_port</td><td>该端口未被占用</td></tr><tr><td>cn_target_config_node_list</td><td>已设置为另一个正在运行的 ConfigNode 的内部通讯地址,推荐使用 Seed-ConfigNode 的内部通讯地址</td></tr></tbody></table><p>检查完毕后,即可在服务器上运行启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux 前台启动
bash ./sbin/start-confignode.sh
# Linux 后台启动
nohup bash ./sbin/start-confignode.sh &gt;/dev/null 2&gt;&amp;1 &amp;
# Windows
.\sbin\start-confignode.bat
</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></div><p>ConfigNode 的其它配置参数可参考<br><a href="https://iotdb.apache.org/zh/UserGuide/Master/Reference/ConfigNode-Config-Manual.html" target="_blank" rel="noopener noreferrer">ConfigNode配置参数<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><h5 id="增加-datanode" tabindex="-1"><a class="header-anchor" href="#增加-datanode" aria-hidden="true">#</a> 增加 DataNode</h5><p><strong>确保集群已有正在运行的 ConfigNode 后,才能开始增加 DataNode。</strong></p><p>可以向集群中添加任意个 DataNode。<br> 在添加新的 DataNode 前,请先打开通用配置文件 ./conf/iotdb-common.properties 并检查以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>cluster_name</td><td>与 Seed-ConfigNode 保持一致</td></tr></tbody></table><p>接着打开它的配置文件 ./conf/iotdb-datanode.properties 并检查以下参数:</p><table><thead><tr><th><strong>配置项</strong></th><th><strong>检查</strong></th></tr></thead><tbody><tr><td>dn_rpc_address</td><td>已设置为服务器的 IPV4 地址或域名</td></tr><tr><td>dn_rpc_port</td><td>该端口未被占用</td></tr><tr><td>dn_internal_address</td><td>已设置为服务器的 IPV4 地址或域名</td></tr><tr><td>dn_internal_port</td><td>该端口未被占用</td></tr><tr><td>dn_mpp_data_exchange_port</td><td>该端口未被占用</td></tr><tr><td>dn_data_region_consensus_port</td><td>该端口未被占用</td></tr><tr><td>dn_schema_region_consensus_port</td><td>该端口未被占用</td></tr><tr><td>dn_target_config_node_list</td><td>已设置为正在运行的 ConfigNode 的内部通讯地址,推荐使用 Seed-ConfigNode 的内部通讯地址</td></tr></tbody></table><p>检查完毕后,即可在服务器上运行启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux 前台启动
bash ./sbin/start-datanode.sh
# Linux 后台启动
nohup bash ./sbin/start-datanode.sh &gt;/dev/null 2&gt;&amp;1 &amp;
# Windows
.\sbin\start-datanode.bat
</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></div><p>DataNode 的其它配置参数可参考<br><a href="https://iotdb.apache.org/zh/UserGuide/Master/Reference/DataNode-Config-Manual.html" target="_blank" rel="noopener noreferrer">DataNode配置参数<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><p><strong>注意:当且仅当集群拥有不少于副本个数(max{schema_replication_factor, data_replication_factor})的 DataNode 后,集群才可以提供服务</strong></p><h4 id="启动-cli" tabindex="-1"><a class="header-anchor" href="#启动-cli" aria-hidden="true">#</a> 启动 Cli</h4><p>若搭建的集群仅用于本地调试,可直接执行 ./sbin 目录下的 Cli 启动脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux
./sbin/start-cli.sh
# Windows
.\sbin\start-cli.bat
</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></div><p>若希望通过 Cli 连接生产环境的集群,<br> 请阅读 <a href="https://iotdb.apache.org/zh/UserGuide/Master/QuickStart/Command-Line-Interface.html" target="_blank" rel="noopener noreferrer">Cli 使用手册<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><h4 id="验证集群" tabindex="-1"><a class="header-anchor" href="#验证集群" aria-hidden="true">#</a> 验证集群</h4><p>以在6台服务器上启动的3C3D(3个ConfigNode 和 3个DataNode)集群为例,<br> 这里假设3个ConfigNode的IP地址依次为192.168.1.10、192.168.1.11、192.168.1.12,且3个ConfigNode启动时均使用了默认的端口10710与10720;<br> 3个DataNode的IP地址依次为192.168.1.20、192.168.1.21、192.168.1.22,且3个DataNode启动时均使用了默认的端口6667、10730、10740、10750与10760。</p><p>当按照6.1步骤成功启动集群后,在 Cli 执行 <code>show cluster details</code>,看到的结果应当如下:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IoTDB&gt; show cluster details
+------+----------+-------+---------------+------------+-------------------+------------+-------+-------+-------------------+-----------------+
|NodeID| NodeType| Status|InternalAddress|InternalPort|ConfigConsensusPort| RpcAddress|RpcPort|MppPort|SchemaConsensusPort|DataConsensusPort|
+------+----------+-------+---------------+------------+-------------------+------------+-------+-------+-------------------+-----------------+
| 0|ConfigNode|Running| 192.168.1.10| 10710| 10720| | | | | |
| 2|ConfigNode|Running| 192.168.1.11| 10710| 10720| | | | | |
| 3|ConfigNode|Running| 192.168.1.12| 10710| 10720| | | | | |
| 1| DataNode|Running| 192.168.1.20| 10730| |192.168.1.20| 6667| 10740| 10750| 10760|
| 4| DataNode|Running| 192.168.1.21| 10730| |192.168.1.21| 6667| 10740| 10750| 10760|
| 5| DataNode|Running| 192.168.1.22| 10730| |192.168.1.22| 6667| 10740| 10750| 10760|
+------+----------+-------+---------------+------------+-------------------+------------+-------+-------+-------------------+-----------------+
Total line number = 6
It costs 0.012s
</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></div><p>若所有节点的状态均为 <strong>Running</strong>,则说明集群部署成功;<br> 否则,请阅读启动失败节点的运行日志,并检查对应的配置参数。</p><h4 id="停止-iotdb-进程" tabindex="-1"><a class="header-anchor" href="#停止-iotdb-进程" aria-hidden="true">#</a> 停止 IoTDB 进程</h4><p>本小节描述如何手动关闭 IoTDB 的 ConfigNode 或 DataNode 进程。</p><h5 id="使用脚本停止-confignode" tabindex="-1"><a class="header-anchor" href="#使用脚本停止-confignode" aria-hidden="true">#</a> 使用脚本停止 ConfigNode</h5><p>执行停止 ConfigNode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux
./sbin/stop-confignode.sh
# Windows
.\sbin\stop-confignode.bat
</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></div><h5 id="使用脚本停止-datanode" tabindex="-1"><a class="header-anchor" href="#使用脚本停止-datanode" aria-hidden="true">#</a> 使用脚本停止 DataNode</h5><p>执行停止 DataNode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux
./sbin/stop-datanode.sh
# Windows
.\sbin\stop-datanode.bat
</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></div><h5 id="停止节点进程" tabindex="-1"><a class="header-anchor" href="#停止节点进程" aria-hidden="true">#</a> 停止节点进程</h5><p>首先获取节点的进程号:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>jps
# 或
ps aux | grep iotdb
</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></div><p>结束进程:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>kill -9 &lt;pid&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p><strong>注意:有些端口的信息需要 root 权限才能获取,在此情况下请使用 sudo</strong></p><h4 id="集群缩容" tabindex="-1"><a class="header-anchor" href="#集群缩容" aria-hidden="true">#</a> 集群缩容</h4><p>本小节描述如何将 ConfigNode 或 DataNode 移出集群。</p><h5 id="移除-confignode" tabindex="-1"><a class="header-anchor" href="#移除-confignode" aria-hidden="true">#</a> 移除 ConfigNode</h5><p>在移除 ConfigNode 前,请确保移除后集群至少还有一个活跃的 ConfigNode。<br> 在活跃的 ConfigNode 上执行 remove-confignode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux
## 根据 confignode_id 移除节点
./sbin/remove-confignode.sh &lt;confignode_id&gt;
## 根据 ConfigNode 内部通讯地址和端口移除节点
./sbin/remove-confignode.sh &lt;cn_internal_address&gt;:&lt;cn_internal_port&gt;
# Windows
## 根据 confignode_id 移除节点
.\sbin\remove-confignode.bat &lt;confignode_id&gt;
## 根据 ConfigNode 内部通讯地址和端口移除节点
.\sbin\remove-confignode.bat &lt;cn_internal_address&gt;:&lt;cn_internal_port&gt;
</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></div><h5 id="移除-datanode" tabindex="-1"><a class="header-anchor" href="#移除-datanode" aria-hidden="true">#</a> 移除 DataNode</h5><p>在移除 DataNode 前,请确保移除后集群至少还有不少于(数据/元数据)副本个数的 DataNode。<br> 在活跃的 DataNode 上执行 remove-datanode 脚本:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code># Linux
## 根据 datanode_id 移除节点
./sbin/remove-datanode.sh &lt;datanode_id&gt;
## 根据 DataNode RPC 服务地址和端口移除节点
./sbin/remove-datanode.sh &lt;dn_rpc_address&gt;:&lt;dn_rpc_port&gt;
# Windows
## 根据 datanode_id 移除节点
.\sbin\remove-datanode.bat &lt;datanode_id&gt;
## 根据 DataNode RPC 服务地址和端口移除节点
.\sbin\remove-datanode.bat &lt;dn_rpc_address&gt;:&lt;dn_rpc_port&gt;
</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></div><h3 id="常见问题" tabindex="-1"><a class="header-anchor" href="#常见问题" aria-hidden="true">#</a> 常见问题</h3><p>请参考 <a href="https://iotdb.apache.org/zh/UserGuide/Master/FAQ/FAQ-for-cluster-setup.html" target="_blank" rel="noopener noreferrer">分布式部署FAQ<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></div><!----><footer class="page-meta"><div class="meta-item edit-link"><a href="https://github.com/apache/iotdb-docs/edit/main/src/zh/UserGuide/Master/Deployment-and-Maintenance/Deployment-Guide_timecho.md" rel="noopener noreferrer" target="_blank" aria-label="发现错误?在 GitHub 上编辑此页" class="nav-link label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><path d="M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"></path><path d="M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"></path></svg><!--]-->发现错误?在 GitHub 上编辑此页<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="meta-item git-info"><div class="update-time"><span class="label">上次编辑于: </span><!----></div><div class="contributors"><span class="label">贡献者: </span><!--[--><!--[--><span class="contributor" title="email: 105700158+wanghui42@users.noreply.github.com">wanghui42</span><!--]--><!--]--></div></div></footer><!----><!----><!----><!--]--></main><!--]--><footer style="padding-bottom:2rem;"><span id="doc-version" style="display:none;">master</span><p style="text-align:center;color:#909399;font-size:12px;margin:0 30px;">Copyright © 2023 The Apache Software Foundation.<br> Apache and the Apache feather logo are trademarks of The Apache Software Foundation</p><p style="text-align:center;margin-top:10px;color:#909399;font-size:12px;margin:0 30px;"><strong>Have a question?</strong> Connect with us on QQ, WeChat, or Slack. <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a> now.</p><p style="text-align:center;margin-top:10px;color:#909399;font-size:12px;margin:0 30px;"> We use <a href="https://analytics.google.com">Google Analytics</a> to collect anonymous, aggregated usage information. </p></footer></div><!--]--><!--]--><!----><!--]--></div>
<script type="module" src="/assets/app-5cdcb249.js" defer></script>
</body>
</html>