| <!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-rc.14" /> |
| <meta name="theme" content="VuePress Theme Hope 2.0.0-rc.52" /> |
| <style> |
| html { |
| background: var(--bg-color, #fff); |
| } |
| |
| html[data-theme="dark"] { |
| background: var(--bg-color, #1d1e1f); |
| } |
| |
| 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="alternate" hreflang="en-us" href="https://iotdb.apache.org/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.html"><meta property="og:url" content="https://iotdb.apache.org/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.html"><meta property="og:site_name" content="IoTDB Website"><meta property="og:title" content="AINode 部署"><meta property="og:description" content="AINode 部署 AINode介绍 能力介绍 AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点,该节点通过与 IoTDB 集群的 DataNode、ConfigNode 的交互,扩展了对时间序列进行机器学习分析的能力,支持从外部引入已有机器学习模型进行注册,并使用注册的模型在指定时序数据上通过简单 SQ..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:locale:alternate" content="en-US"><meta property="og:updated_time" content="2024-08-15T06:41:58.000Z"><meta property="article:modified_time" content="2024-08-15T06:41:58.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"AINode 部署","image":[""],"dateModified":"2024-08-15T06:41:58.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"><script type="text/javascript"> |
| var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| _paq.push(["setDoNotTrack", true]); |
| _paq.push(["disableCookies"]); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="https://analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '56']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script><title>AINode 部署 | IoTDB Website</title><meta name="description" content="AINode 部署 AINode介绍 能力介绍 AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点,该节点通过与 IoTDB 集群的 DataNode、ConfigNode 的交互,扩展了对时间序列进行机器学习分析的能力,支持从外部引入已有机器学习模型进行注册,并使用注册的模型在指定时序数据上通过简单 SQ..."> |
| <link rel="preload" href="/assets/style-Cwp1o4WF.css" as="style"><link rel="stylesheet" href="/assets/style-Cwp1o4WF.css"> |
| <link rel="modulepreload" href="/assets/app-COzQ4uU1.js"><link rel="modulepreload" href="/assets/AINode_Deployment_timecho.html-BHCgODhH.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 external-link-icon pure has-toc"><!--[--><header id="navbar" class="vp-navbar"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!----><!--[--><a class="route-link vp-brand" href="/zh/"><img class="vp-nav-logo" src="/logo.png" alt><!----><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" style="display:none;"></div><div><button type="button" class="DocSearch DocSearch-Button" aria-label="搜索文档"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"><svg width="15" height="15" class="DocSearch-Control-Key-Icon"><path d="M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953" stroke-width="1.2" stroke="currentColor" fill="none" stroke-linecap="square"></path></svg></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--><nav class="vp-nav-links"><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="文档"><!--[--><!---->文档<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/latest/QuickStart/QuickStart.html" aria-label="v1.3.0/1/2"><!---->v1.3.0/1/2<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.2.x/QuickStart/QuickStart.html" aria-label="v1.2.x"><!---->v1.2.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.1.x/QuickStart/QuickStart.html" aria-label="v1.1.x"><!---->v1.1.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.0.x/QuickStart/QuickStart.html" aria-label="v1.0.x"><!---->v1.0.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V0.13.x/QuickStart/QuickStart.html" aria-label="v0.13.x"><!---->v0.13.x<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><a class="auto-link external-link" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177051872" aria-label="系统设计" rel="noopener noreferrer" target="_blank"><!---->系统设计<!----></a></div><div class="vp-nav-item hide-in-mobile"><a class="route-link auto-link" href="/zh/Download/" aria-label="下载"><!---->下载<!----></a></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="社区"><!--[--><!---->社区<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/About.html" aria-label="关于社区"><!---->关于社区<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Development-Guide.html" aria-label="贡献指南"><!---->贡献指南<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Powered-By.html" aria-label="社区伙伴"><!---->社区伙伴<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Feedback.html" aria-label="交流与反馈"><!---->交流与反馈<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Materials.html" aria-label="活动与报告"><!---->活动与报告<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Community-Project-Committers.html" aria-label="Commiters"><!---->Commiters<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="ASF"><!--[--><!---->ASF<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/" aria-label="基金会" rel="noopener noreferrer" target="_blank"><!---->基金会<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/licenses/" aria-label="许可证" rel="noopener noreferrer" target="_blank"><!---->许可证<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/security/" aria-label="安全" rel="noopener noreferrer" target="_blank"><!---->安全<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/sponsorship.html" aria-label="赞助" rel="noopener noreferrer" target="_blank"><!---->赞助<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/thanks.html" aria-label="致谢" rel="noopener noreferrer" target="_blank"><!---->致谢<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/events/current-event" aria-label="活动" rel="noopener noreferrer" target="_blank"><!---->活动<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://privacy.apache.org/policies/privacy-policy-public.html" aria-label="隐私" rel="noopener noreferrer" target="_blank"><!---->隐私<!----></a></li></ul></button></div></div></nav><div class="vp-nav-item"><div class="vp-dropdown-wrapper"><button type="button" class="vp-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" name="i18n" 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="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.html" aria-label="English"><!---->English<!----></a></li><li class="vp-dropdown-item"><a class="route-link route-link-active auto-link" href="/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.html" aria-label="简体中文"><!---->简体中文<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><button type="button" class="vp-color-mode-switch" id="color-mode-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" name="auto" style="display:none;"><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" name="dark" 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" name="light" style="display:block;"><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="vp-nav-item vp-action"><a class="vp-action-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" name="github" 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"><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><!----><span class="vp-sidebar-title">IoTDB用户手册 (V1.3.0/1/2)</span><!----></p><ul class="vp-sidebar-links"></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">关于IoTDB</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">快速上手</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">基础概念</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">部署与运维</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">使用手册</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">工具体系</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">应用编程接口</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">系统集成</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">SQL手册</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">FAQ</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">参考</span><span class="vp-arrow end"></span></button><!----></section></li></ul><!----></aside><!--[--><!--[--><main id="main-content" class="vp-page"><!--[--><!----><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->AINode 部署</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" name="calendar"><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="2024-08-01T07:47:59.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" name="timer"><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>大约 12 分钟</span><meta property="timeRequired" content="PT12M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!----><div class="vp-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" name="print"><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 class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#ainode介绍">AINode介绍</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#能力介绍">能力介绍</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#交付方式">交付方式</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#部署模式">部署模式</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#安装准备">安装准备</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#安装包获取">安装包获取</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#环境准备">环境准备</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#安装步骤">安装步骤</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#ainode-激活">AINode 激活</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#配置项修改">配置项修改</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#启动-ainode">启动 AINode</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#检测-ainode-节点状态">检测 AINode 节点状态</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#停止-ainode">停止 AINode</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#移除-ainode">移除 AINode</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#常见问题">常见问题</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#启动ainode时出现找不到venv模块的报错">启动AINode时出现找不到venv模块的报错</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#python中的ssl模块没有被正确安装和配置-无法处理https资源">python中的SSL模块没有被正确安装和配置,无法处理HTTPS资源</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#pip版本较低">pip版本较低</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#安装编译python">安装编译python</a></li><!----><!--]--></ul></li><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!----></aside></div><!----><div class="theme-hope-content"><h1 id="ainode-部署" tabindex="-1"><a class="header-anchor" href="#ainode-部署"><span>AINode 部署</span></a></h1><h2 id="ainode介绍" tabindex="-1"><a class="header-anchor" href="#ainode介绍"><span>AINode介绍</span></a></h2><h3 id="能力介绍" tabindex="-1"><a class="header-anchor" href="#能力介绍"><span>能力介绍</span></a></h3><p>AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点,该节点通过与 IoTDB 集群的 DataNode、ConfigNode 的交互,扩展了对时间序列进行机器学习分析的能力,支持从外部引入已有机器学习模型进行注册,并使用注册的模型在指定时序数据上通过简单 SQL 语句完成时序分析任务的过程,将模型的创建、管理及推理融合在数据库引擎中。目前已提供常见时序分析场景(例如预测与异常检测)的机器学习算法或自研模型。</p><h3 id="交付方式" tabindex="-1"><a class="header-anchor" href="#交付方式"><span>交付方式</span></a></h3><p>是 IoTDB 集群外的额外套件,独立安装包,独立激活(如需试用或使用,请联系天谋科技商务或技术支持)。</p><h3 id="部署模式" tabindex="-1"><a class="header-anchor" href="#部署模式"><span>部署模式</span></a></h3><div><img src="https://alioss.timecho.com/docs/img/AINode部署1.png" alt="" style="width:45%;"><img src="https://alioss.timecho.com/docs/img/AINode部署2.png" alt="" style="width:45%;"></div><h2 id="安装准备" tabindex="-1"><a class="header-anchor" href="#安装准备"><span>安装准备</span></a></h2><h3 id="安装包获取" tabindex="-1"><a class="header-anchor" href="#安装包获取"><span>安装包获取</span></a></h3><p>用户可以下载AINode的软件安装包,下载并解压后即完成AINode的安装。</p><p>解压后安装包(<code>iotdb-enterprise-ainode-<version>.zip</code>),安装包解压后目录结构如下:</p><table><thead><tr><th><strong>目录</strong></th><th><strong>类型</strong></th><th><strong>说明</strong></th></tr></thead><tbody><tr><td>lib</td><td>文件夹</td><td>AINode编译后的二进制可执行文件以及相关的代码依赖</td></tr><tr><td>sbin</td><td>文件夹</td><td>AINode的运行脚本,可以启动,移除和停止AINode</td></tr><tr><td>conf</td><td>文件夹</td><td>包含AINode的配置项,具体包含以下配置项</td></tr><tr><td>LICENSE</td><td>文件</td><td>证书</td></tr><tr><td>NOTICE</td><td>文件</td><td>提示</td></tr><tr><td>README_ZH.md</td><td>文件</td><td>markdown格式的中文版说明</td></tr><tr><td><code>README.md</code></td><td>文件</td><td>使用说明</td></tr></tbody></table><h3 id="环境准备" tabindex="-1"><a class="header-anchor" href="#环境准备"><span>环境准备</span></a></h3><ul><li><p>建议操作环境: Ubuntu, CentOS, MacOS</p></li><li><p>运行环境</p><ul><li><p>联网环境下 Python >= 3.8即可,且带有 pip 和 venv 工具;非联网环境下需要使用 Python 3.8版本,并从 <a href="https://cloud.tsinghua.edu.cn/d/4c1342f6c272439aa96c/?p=%2Flibs&mode=list" target="_blank" rel="noopener noreferrer">此处</a> 下载对应操作系统的zip压缩包(注意下载依赖需选择libs文件夹中的zip压缩包,如下图),并将文件夹下的所有文件拷贝到 <code>iotdb-enterprise-ainode-<version></code> 文件夹中 <code>lib</code> 文件夹下,并按下文步骤启动AINode。</p><img src="https://alioss.timecho.com/docs/img/AINode部署3.png" alt="" style="width:80%;"></li><li><p>环境变量中需存在 Python 解释器且可以通过 <code>python</code> 指令直接调用</p></li><li><p>建议在 <code>iotdb-enterprise-ainode-<version></code> 文件夹下,新建 Python 解释器 venv 虚拟环境。如安装 3.8.0 版本虚拟环境,语句如下:</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token comment"># 安装3.8.0版本的venv </span></span> |
| <span class="line"><span class="token punctuation">..</span>/Python-3.8.0/python <span class="token parameter variable">-m</span> venv venv<span class="token punctuation">(</span>文件夹名)</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div></li></ul></li></ul><h2 id="安装步骤" tabindex="-1"><a class="header-anchor" href="#安装步骤"><span>安装步骤</span></a></h2><h3 id="ainode-激活" tabindex="-1"><a class="header-anchor" href="#ainode-激活"><span>AINode 激活</span></a></h3><p>要求 IoTDB 处于正常运行状态,且 license 中有 AINode 模块授权(通常 license 中不具有 AINode 授权,可联系天谋商务或技术支持人员获取 AINode 模块授权)。</p><p>激活 AINode 模块授权方式如下:</p><ul><li>方式一:激活文件拷贝激活 <ul><li>重新启动 confignode 节点后,进入 activation 文件夹, 将 system_info 文件复制给天谋工作人员,并告知工作人员申请 AINode 独立授权;</li><li>收到工作人员返回的 license 文件;</li><li>将 license 文件放入对应节点的 activation 文件夹下;</li></ul></li><li>方式二:激活脚本激活 <ul><li>获取激活所需机器码,进入安装目录的 <code>sbin</code> 目录,执行激活脚本:<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token builtin class-name">cd</span> sbin </span> |
| <span class="line"> ./start-activate.sh</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div></li><li>显示如下信息,请将机器码(即该串字符)复制给天谋工作人员,并告知工作人员申请 AINode 独立授权:<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">Please copy the system_info's content and send it to Timecho:</span> |
| <span class="line"><span class="token assign-left variable">Y17hFA0xRCE1TmkVxILuCIEPc7uJcr5bzlXWiptw8uZTmTX5aThfypQdLUIhMljw075hNRSicyvyJR9JM7QaNm1gcFZPHVRWVXIiY5IlZkXdxCVc1erXMsbCqUYsR2R2Mw4PSpFJsUF5jHWSoFIIjQ2bmJFW5P52KCccFMVeHTc</span><span class="token operator">=</span></span> |
| <span class="line">Please enter license:</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li><li>将工作人员返回的激活码输入上一步的命令行提示处 <code>Please enter license:</code>,如下提示:<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">Please enter license:</span> |
| <span class="line">Jw+MmF+AtexsfgNGOFgTm83BgXbq0zT1+fOfPvQsLlj6ZsooHFU6HycUSEGC78eT1g67KPvkcLCUIsz2QpbyVmPLr9x1+kVjBubZPYlVpsGYLqLFc8kgpb5vIrPLd3hGLbJ5Ks8fV1WOVrDDVQq89YF2atQa2EaB9EAeTWd0bRMZ+s9ffjc/1Zmh9NSP/T3VCfJcJQyi7YpXWy5nMtcW0gSV+S6fS5r7a96PjbtE0zXNjnEhqgRzdU+mfO8gVuUNaIy9l375cp1GLpeCh6m6pF+APW1CiXLTSijK9Qh3nsL5bAOXNeob5l+HO5fEMgzrW8OJPh26Vl6ljKUpCvpTiw<span class="token operator">==</span></span> |
| <span class="line">License has been stored to sbin/<span class="token punctuation">..</span>/activation/license</span> |
| <span class="line">Import completed. Please start cluster and excute <span class="token string">'show cluster'</span> to verify activation status</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li></ul></li><li>更新 license 后,重新启动 DataNode 节点,进入 IoTDB 的 sbin 目录下,启动 datanode:<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token builtin class-name">cd</span> sbin</span> |
| <span class="line"> ./start-datanode.sh <span class="token parameter variable">-d</span> <span class="token comment">#-d参数将在后台进行启动 </span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div></li></ul><h3 id="配置项修改" tabindex="-1"><a class="header-anchor" href="#配置项修改"><span>配置项修改</span></a></h3><p>AINode 支持修改一些必要的参数。可以在 <code>conf/iotdb-ainode.properties</code> 文件中找到下列参数并进行持久化的修改:</p><table><thead><tr><th style="text-align:left;"><strong>名称</strong></th><th><strong>描述</strong></th><th><strong>类型</strong></th><th><strong>默认值</strong></th><th><strong>改后生效方式</strong></th></tr></thead><tbody><tr><td style="text-align:left;">cluster_name</td><td>AINode 要加入集群的标识</td><td>string</td><td>defaultCluster</td><td>仅允许在第一次启动服务前修改</td></tr><tr><td style="text-align:left;">ain_seed_config_node</td><td>AINode 启动时注册的 ConfigNode 地址</td><td>String</td><td>10710</td><td>仅允许在第一次启动服务前修改</td></tr><tr><td style="text-align:left;">ain_inference_rpc_address</td><td>AINode 提供服务与通信的地址</td><td>String</td><td>127.0.0.1</td><td>重启后生效</td></tr><tr><td style="text-align:left;">ain_inference_rpc_port</td><td>AINode 提供服务与通信的端口</td><td>String</td><td>10810</td><td>重启后生效</td></tr><tr><td style="text-align:left;">ain_system_dir</td><td>AINode 元数据存储路径,相对路径的起始目录与操作系统相关,建议使用绝对路径</td><td>String</td><td>data/AINode/system</td><td>重启后生效</td></tr><tr><td style="text-align:left;">ain_models_dir</td><td>AINode 存储模型文件的路径,相对路径的起始目录与操作系统相关,建议使用绝对路径</td><td>String</td><td>data/AINode/models</td><td>重启后生效</td></tr><tr><td style="text-align:left;">ain_logs_dir</td><td>AINode 存储日志的路径,相对路径的起始目录与操作系统相关,建议使用绝对路径</td><td>String</td><td>logs/AINode</td><td>重启后生效</td></tr><tr><td style="text-align:left;">ain_thrift_compression_enabled</td><td>AINode 是否启用 thrift 的压缩机制,0-不启动、1-启动</td><td>Boolean</td><td>0</td><td>重启后生效</td></tr></tbody></table><h3 id="启动-ainode" tabindex="-1"><a class="header-anchor" href="#启动-ainode"><span>启动 AINode</span></a></h3><p>在完成 Seed-ConfigNode 的部署后,可以通过添加 AINode 节点来支持模型的注册和推理功能。在配置项中指定 IoTDB 集群的信息后,可以执行相应的指令来启动 AINode,加入 IoTDB 集群。</p><h4 id="联网环境启动" tabindex="-1"><a class="header-anchor" href="#联网环境启动"><span>联网环境启动</span></a></h4><h5 id="启动命令" tabindex="-1"><a class="header-anchor" href="#启动命令"><span>启动命令</span></a></h5><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/start-ainode.sh <span class="token parameter variable">-i</span> <span class="token operator"><</span>directory<span class="token operator">></span> <span class="token parameter variable">-r</span> <span class="token parameter variable">-n</span></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># Windows</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>start-ainode.bat <span class="token parameter variable">-i</span> <span class="token operator"><</span>directory<span class="token operator">></span> <span class="token parameter variable">-r</span> <span class="token parameter variable">-n</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="#参数介绍"><span>参数介绍:</span></a></h5><table><thead><tr><th><strong>名称</strong></th><th><strong>标签</strong></th><th><strong>描述</strong></th><th><strong>是否必填</strong></th><th><strong>类型</strong></th><th><strong>默认值</strong></th><th><strong>输入方式</strong></th></tr></thead><tbody><tr><td>ain_interpreter_dir</td><td>-i</td><td>AINode 所安装在的虚拟环境的解释器路径,需要使用绝对路径</td><td>否</td><td>String</td><td>默认读取环境变量</td><td>调用时输入或持久化修改</td></tr><tr><td>ain_force_reinstall</td><td>-r</td><td>该脚本在检查 AINode 安装情况的时候是否检查版本,如果检查则在版本不对的情况下会强制安装 lib 里的 whl 安装包</td><td>否</td><td>Bool</td><td>false</td><td>调用时输入</td></tr><tr><td>ain_no_dependencies</td><td>-n</td><td>指定在安装 AINode 的时候是否安装依赖,如果指定则仅安装 AINode 主程序而不安装依赖。</td><td>否</td><td>Bool</td><td>false</td><td>调用时输入</td></tr></tbody></table><p>如不想每次启动时指定对应参数,也可以在 <code>conf</code> 文件夹下的<code>ainode-env.sh</code> 和 <code>ainode-env.bat</code> 脚本中持久化修改参数(目前支持持久化修改 ain_interpreter_dir 参数)。</p><p><code>ainode-env.sh</code> :</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># The defaulte venv environment is used if ain_interpreter_dir is not set. Please use absolute path without quotation mark</span></span> |
| <span class="line"> <span class="token comment"># ain_interpreter_dir=</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p><code>ainode-env.bat</code> :</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> @REM The defaulte venv environment is used <span class="token keyword">if</span> ain_interpreter_dir is not set. Please use absolute path without quotation mark</span> |
| <span class="line"> @REM <span class="token builtin class-name">set</span> <span class="token assign-left variable">ain_interpreter_dir</span><span class="token operator">=</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>在写入参数值的后解除对应行的注释并保存即可在下一次执行脚本时生效。</p><h4 id="示例" tabindex="-1"><a class="header-anchor" href="#示例"><span>示例</span></a></h4><h5 id="直接启动" tabindex="-1"><a class="header-anchor" href="#直接启动"><span>直接启动:</span></a></h5><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># 启动命令</span></span> |
| <span class="line"> <span class="token comment"># Linux 和 MacOS 系统</span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/start-ainode.sh</span> |
| <span class="line"> <span class="token comment"># Windows 系统</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>start-ainode.bat </span> |
| <span class="line"></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># 后台启动命令(长期运行推荐)</span></span> |
| <span class="line"> <span class="token comment"># Linux 和 MacOS 系统</span></span> |
| <span class="line"> <span class="token function">nohup</span> <span class="token function">bash</span> sbin/start-ainode.sh <span class="token operator">></span> myout.file <span class="token operator"><span class="token file-descriptor important">2</span>>&</span> <span class="token number">1</span> <span class="token operator">&</span></span> |
| <span class="line"> <span class="token comment"># Windows 系统</span></span> |
| <span class="line"> <span class="token function">nohup</span> <span class="token function">bash</span> sbin/start-ainode.bat <span class="token operator">></span> myout.file <span class="token operator"><span class="token file-descriptor important">2</span>>&</span> <span class="token number">1</span> <span class="token operator">&</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="更新启动" tabindex="-1"><a class="header-anchor" href="#更新启动"><span>更新启动:</span></a></h5><p>如果 AINode 的版本进行了更新(如更新了 <code>lib</code> 文件夹),可使用此命令。首先要保证 AINode 已经停止运行,然后通过 <code>-r</code> 参数重启,该参数会根据 <code>lib</code> 下的文件重新安装 AINode。</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># 更新启动命令</span></span> |
| <span class="line"> <span class="token comment"># Linux 和 MacOS 系统</span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/start-ainode.sh <span class="token parameter variable">-r</span></span> |
| <span class="line"> <span class="token comment"># Windows 系统</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>start-ainode.bat <span class="token parameter variable">-r</span></span> |
| <span class="line"></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># 后台更新启动命令(长期运行推荐)</span></span> |
| <span class="line"> <span class="token comment"># Linux 和 MacOS 系统</span></span> |
| <span class="line"> <span class="token function">nohup</span> <span class="token function">bash</span> sbin/start-ainode.sh <span class="token parameter variable">-r</span> <span class="token operator">></span> myout.file <span class="token operator"><span class="token file-descriptor important">2</span>>&</span> <span class="token number">1</span> <span class="token operator">&</span></span> |
| <span class="line"> <span class="token comment"># Windows 系统</span></span> |
| <span class="line"> <span class="token function">nohup</span> <span class="token function">bash</span> sbin/start-ainode.bat <span class="token parameter variable">-r</span> <span class="token operator">></span> myout.file <span class="token operator"><span class="token file-descriptor important">2</span>>&</span> <span class="token number">1</span> <span class="token operator">&</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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><h4 id="非联网环境启动" tabindex="-1"><a class="header-anchor" href="#非联网环境启动"><span>非联网环境启动</span></a></h4><h5 id="启动命令-1" tabindex="-1"><a class="header-anchor" href="#启动命令-1"><span>启动命令</span></a></h5><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/start-ainode.sh <span class="token parameter variable">-i</span> <span class="token operator"><</span>directory<span class="token operator">></span> <span class="token parameter variable">-r</span> <span class="token parameter variable">-n</span></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># Windows</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>start-ainode.bat <span class="token parameter variable">-i</span> <span class="token operator"><</span>directory<span class="token operator">></span> <span class="token parameter variable">-r</span> <span class="token parameter variable">-n</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="参数介绍-1" tabindex="-1"><a class="header-anchor" href="#参数介绍-1"><span>参数介绍:</span></a></h5><table><thead><tr><th><strong>名称</strong></th><th><strong>标签</strong></th><th><strong>描述</strong></th><th><strong>是否必填</strong></th><th><strong>类型</strong></th><th><strong>默认值</strong></th><th><strong>输入方式</strong></th></tr></thead><tbody><tr><td>ain_interpreter_dir</td><td>-i</td><td>AINode 所安装在的虚拟环境的解释器路径,需要使用绝对路径</td><td>否</td><td>String</td><td>默认读取环境变量</td><td>调用时输入或持久化修改</td></tr><tr><td>ain_force_reinstall</td><td>-r</td><td>该脚本在检查 AINode 安装情况的时候是否检查版本,如果检查则在版本不对的情况下会强制安装 lib 里的 whl 安装包</td><td>否</td><td>Bool</td><td>false</td><td>调用时输入</td></tr></tbody></table><blockquote><p>注意:非联网环境下安装失败时,首先检查是否选择了平台对应的安装包,其次确认python版本为3.8(由于下载的安装包限制了python版本,3.7、3.9等其他都不行)</p></blockquote><h4 id="示例-1" tabindex="-1"><a class="header-anchor" href="#示例-1"><span>示例</span></a></h4><h5 id="直接启动-1" tabindex="-1"><a class="header-anchor" href="#直接启动-1"><span>直接启动:</span></a></h5><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># 启动命令</span></span> |
| <span class="line"> <span class="token comment"># Linux 和 MacOS 系统</span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/start-ainode.sh</span> |
| <span class="line"> <span class="token comment"># Windows 系统</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>start-ainode.bat </span> |
| <span class="line"></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># 后台启动命令(长期运行推荐)</span></span> |
| <span class="line"> <span class="token comment"># Linux 和 MacOS 系统</span></span> |
| <span class="line"> <span class="token function">nohup</span> <span class="token function">bash</span> sbin/start-ainode.sh <span class="token operator">></span> myout.file <span class="token operator"><span class="token file-descriptor important">2</span>>&</span> <span class="token number">1</span> <span class="token operator">&</span></span> |
| <span class="line"> <span class="token comment"># Windows 系统</span></span> |
| <span class="line"> <span class="token function">nohup</span> <span class="token function">bash</span> sbin/start-ainode.bat <span class="token operator">></span> myout.file <span class="token operator"><span class="token file-descriptor important">2</span>>&</span> <span class="token number">1</span> <span class="token operator">&</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="检测-ainode-节点状态" tabindex="-1"><a class="header-anchor" href="#检测-ainode-节点状态"><span>检测 AINode 节点状态</span></a></h3><p>AINode 启动过程中会自动将新的 AINode 加入 IoTDB 集群。启动 AINode 后可以在 命令行中输入 SQL 来查询,集群中看到 AINode 节点,其运行状态为 Running(如下展示)表示加入成功。</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">IoTDB<span class="token operator">></span> show cluster</span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"><span class="token operator">|</span>NodeID<span class="token operator">|</span> NodeType<span class="token operator">|</span> Status<span class="token operator">|</span>InternalAddress<span class="token operator">|</span>InternalPort<span class="token operator">|</span>Version<span class="token operator">|</span> BuildInfo<span class="token operator">|</span></span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">0</span><span class="token operator">|</span>ConfigNode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10710</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">1</span><span class="token operator">|</span> DataNode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10730</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">2</span><span class="token operator">|</span> AINode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10810</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="停止-ainode" tabindex="-1"><a class="header-anchor" href="#停止-ainode"><span>停止 AINode</span></a></h3><p>如果需要停止正在运行的 AINode 节点,则执行相应的关闭脚本。</p><h4 id="停止命令" tabindex="-1"><a class="header-anchor" href="#停止命令"><span>停止命令</span></a></h4><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/stop-ainode.sh -t<span class="token operator"><</span>AINode-id<span class="token operator">></span>/<span class="token operator"><</span>ip<span class="token operator">></span>:<span class="token operator"><</span>rpc-port<span class="token operator">></span></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment">#Windows</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>stop-ainode.bat -t<span class="token operator"><</span>AINode-id<span class="token operator">></span>/<span class="token operator"><</span>ip<span class="token operator">></span>:<span class="token operator"><</span>rpc-port<span class="token operator">></span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="参数介绍-2" tabindex="-1"><a class="header-anchor" href="#参数介绍-2"><span>参数介绍:</span></a></h5><table><thead><tr><th><strong>名称</strong></th><th><strong>标签</strong></th><th><strong>描述</strong></th><th><strong>是否必填</strong></th><th><strong>类型</strong></th><th><strong>默认值</strong></th><th><strong>输入方式</strong></th></tr></thead><tbody><tr><td>ain_remove_target</td><td>-t</td><td>AINode 关闭时可以指定待移除的目标 AINode 的 Node ID、地址和端口号,格式为<code><AINode-id>/<ip>:<rpc-port></code></td><td>否</td><td>String</td><td>无</td><td>调用时输入</td></tr></tbody></table><h4 id="示例-2" tabindex="-1"><a class="header-anchor" href="#示例-2"><span>示例</span></a></h4><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/stop-ainode.sh</span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># Windows</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>stop-ainode.bat</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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>停止 AINode 后,还可以在集群中看到 AINode 节点,其运行状态为 UNKNOWN(如下展示),此时无法使用 AINode 功能。</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">IoTDB<span class="token operator">></span> show cluster</span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"><span class="token operator">|</span>NodeID<span class="token operator">|</span> NodeType<span class="token operator">|</span> Status<span class="token operator">|</span>InternalAddress<span class="token operator">|</span>InternalPort<span class="token operator">|</span>Version<span class="token operator">|</span> BuildInfo<span class="token operator">|</span></span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">0</span><span class="token operator">|</span>ConfigNode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10710</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">1</span><span class="token operator">|</span> DataNode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10730</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">2</span><span class="token operator">|</span> AINode<span class="token operator">|</span>UNKNOWN<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10790</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>如果需要重新启动该节点,需重新执行启动脚本。</p><h3 id="移除-ainode" tabindex="-1"><a class="header-anchor" href="#移除-ainode"><span>移除 AINode</span></a></h3><p>当需要把一个 AINode 节点移出集群时,可以执行移除脚本。移除和停止脚本的差别是:停止是在集群中保留 AINode 节点但停止 AINode 服务,移除则是把 AINode 节点从集群中移除出去。</p><h4 id="移除命令" tabindex="-1"><a class="header-anchor" href="#移除命令"><span>移除命令</span></a></h4><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"> <span class="token function">bash</span> sbin/stop-ainode.sh -i<span class="token operator"><</span>directory<span class="token operator">></span> -t<span class="token operator"><</span>AINode-id<span class="token operator">></span>/<span class="token operator"><</span>ip<span class="token operator">></span>:<span class="token operator"><</span>rpc-port<span class="token operator">></span> <span class="token parameter variable">-r</span> <span class="token parameter variable">-n</span></span> |
| <span class="line"></span> |
| <span class="line"> <span class="token comment"># Windows</span></span> |
| <span class="line"> sbin<span class="token punctuation">\</span>stop-ainode.bat -i<span class="token operator"><</span>directory<span class="token operator">></span> -t<span class="token operator"><</span>AINode-id<span class="token operator">></span>/<span class="token operator"><</span>ip<span class="token operator">></span>:<span class="token operator"><</span>rpc-port<span class="token operator">></span> <span class="token parameter variable">-r</span> <span class="token parameter variable">-n</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="参数介绍-3" tabindex="-1"><a class="header-anchor" href="#参数介绍-3"><span>参数介绍:</span></a></h5><table><thead><tr><th><strong>名称</strong></th><th><strong>标签</strong></th><th><strong>描述</strong></th><th><strong>是否必填</strong></th><th><strong>类型</strong></th><th><strong>默认值</strong></th><th><strong>输入方式</strong></th></tr></thead><tbody><tr><td>ain_interpreter_dir</td><td>-i</td><td>AINode 所安装在的虚拟环境的解释器路径,需要使用绝对路径</td><td>否</td><td>String</td><td>默认读取环境变量</td><td>调用时输入+持久化修改</td></tr><tr><td>ain_remove_target</td><td>-t</td><td>AINode 关闭时可以指定待移除的目标 AINode 的 Node ID、地址和端口号,格式为<code><AINode-id>/<ip>:<rpc-port></code></td><td>否</td><td>String</td><td>无</td><td>调用时输入</td></tr><tr><td>ain_force_reinstall</td><td>-r</td><td>该脚本在检查 AINode 安装情况的时候是否检查版本,如果检查则在版本不对的情况下会强制安装 lib 里的 whl 安装包</td><td>否</td><td>Bool</td><td>false</td><td>调用时输入</td></tr><tr><td>ain_no_dependencies</td><td>-n</td><td>指定在安装 AINode 的时候是否安装依赖,如果指定则仅安装 AINode 主程序而不安装依赖。</td><td>否</td><td>Bool</td><td>false</td><td>调用时输入</td></tr></tbody></table><p>如不想每次启动时指定对应参数,也可以在 <code>conf</code> 文件夹下的<code>ainode-env.sh</code> 和 <code>ainode-env.bat</code> 脚本中持久化修改参数(目前支持持久化修改 ain_interpreter_dir 参数)。</p><p><code>ainode-env.sh</code> :</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> <span class="token comment"># The defaulte venv environment is used if ain_interpreter_dir is not set. Please use absolute path without quotation mark</span></span> |
| <span class="line"> <span class="token comment"># ain_interpreter_dir=</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p><code>ainode-env.bat</code> :</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"> @REM The defaulte venv environment is used <span class="token keyword">if</span> ain_interpreter_dir is not set. Please use absolute path without quotation mark</span> |
| <span class="line"> @REM <span class="token builtin class-name">set</span> <span class="token assign-left variable">ain_interpreter_dir</span><span class="token operator">=</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>在写入参数值的后解除对应行的注释并保存即可在下一次执行脚本时生效。</p><h4 id="示例-3" tabindex="-1"><a class="header-anchor" href="#示例-3"><span>示例</span></a></h4><h5 id="直接移除" tabindex="-1"><a class="header-anchor" href="#直接移除"><span>直接移除:</span></a></h5><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"><span class="token function">bash</span> sbin/remove-ainode.sh</span> |
| <span class="line"></span> |
| <span class="line"><span class="token comment"># Windows</span></span> |
| <span class="line">sbin<span class="token punctuation">\</span>remove-ainode.bat</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">IoTDB<span class="token operator">></span> show cluster</span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"><span class="token operator">|</span>NodeID<span class="token operator">|</span> NodeType<span class="token operator">|</span> Status<span class="token operator">|</span>InternalAddress<span class="token operator">|</span>InternalPort<span class="token operator">|</span>Version<span class="token operator">|</span> BuildInfo<span class="token operator">|</span></span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">0</span><span class="token operator">|</span>ConfigNode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10710</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line"><span class="token operator">|</span> <span class="token number">1</span><span class="token operator">|</span> DataNode<span class="token operator">|</span>Running<span class="token operator">|</span> <span class="token number">127.0</span>.0.1<span class="token operator">|</span> <span class="token number">10730</span><span class="token operator">|</span>UNKNOWN<span class="token operator">|</span>190e303-dev<span class="token operator">|</span></span> |
| <span class="line">+------+----------+-------+---------------+------------+-------+-----------+</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><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="指定移除" tabindex="-1"><a class="header-anchor" href="#指定移除"><span>指定移除:</span></a></h5><p>如果用户丢失了 data 文件夹下的文件,可能 AINode 本地无法主动移除自己,需要用户指定节点号、地址和端口号进行移除,此时我们支持用户按照以下方法输入参数进行删除。</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token comment"># Linux / MacOS </span></span> |
| <span class="line"><span class="token function">bash</span> sbin/remove-ainode.sh <span class="token parameter variable">-t</span> <span class="token operator"><</span>AINode-id<span class="token operator">></span>/<span class="token operator"><</span>ip<span class="token operator">></span>:<span class="token operator"><</span>rpc-port<span class="token operator">></span></span> |
| <span class="line"></span> |
| <span class="line"><span class="token comment"># Windows</span></span> |
| <span class="line">sbin<span class="token punctuation">\</span>remove-ainode.bat <span class="token parameter variable">-t</span> <span class="token operator"><</span>AINode-id<span class="token operator">></span>/<span class="token operator"><</span>ip<span class="token operator">></span>:<span class="token operator"><</span>rpc-port<span class="token operator">></span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="常见问题" tabindex="-1"><a class="header-anchor" href="#常见问题"><span>常见问题</span></a></h2><h3 id="启动ainode时出现找不到venv模块的报错" tabindex="-1"><a class="header-anchor" href="#启动ainode时出现找不到venv模块的报错"><span>启动AINode时出现找不到venv模块的报错</span></a></h3><p>当使用默认方式启动 AINode 时,会在安装包目录下创建一个 python 虚拟环境并安装依赖,因此要求安装 venv 模块。通常来说 python3.8 及以上的版本会自带 venv,但对于一些系统自带的 python 环境可能并不满足这一要求。出现该报错时有两种解决方案(二选一):</p><p>在本地安装 venv 模块,以 ubuntu 为例,可以通过运行以下命令来安装 python 自带的 venv 模块。或者从 python 官网安装一个自带 venv 的 python 版本。</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token function">apt-get</span> <span class="token function">install</span> python3.8-venv </span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>安装 3.8.0 版本的 venv 到 AINode 里面 在 AINode 路径下</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token punctuation">..</span>/Python-3.8.0/python <span class="token parameter variable">-m</span> venv venv<span class="token punctuation">(</span>文件夹名)</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>在运行启动脚本时通过 <code>-i</code> 指定已有的 python 解释器路径作为 AINode 的运行环境,这样就不再需要创建一个新的虚拟环境。</p><h3 id="python中的ssl模块没有被正确安装和配置-无法处理https资源" tabindex="-1"><a class="header-anchor" href="#python中的ssl模块没有被正确安装和配置-无法处理https资源"><span>python中的SSL模块没有被正确安装和配置,无法处理HTTPS资源</span></a></h3><p>WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.<br> 可以安装 OpenSSLS 后,再重新构建 python 来解决这个问题</p><blockquote><p>Currently Python versions 3.6 to 3.9 are compatible with OpenSSL 1.0.2, 1.1.0, and 1.1.1.</p></blockquote><p>Python 要求我们的系统上安装有 OpenSSL,具体安装方法可见<a href="https://stackoverflow.com/questions/56552390/how-to-fix-ssl-module-in-python-is-not-available-in-centos" target="_blank" rel="noopener noreferrer">链接</a></p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev <span class="token function">wget</span> <span class="token function">curl</span> llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev uuid-dev lzma-dev liblzma-dev</span> |
| <span class="line"><span class="token function">sudo</span> <span class="token parameter variable">-E</span> ./configure --with-ssl</span> |
| <span class="line"><span class="token function">make</span></span> |
| <span class="line"><span class="token function">sudo</span> <span class="token function">make</span> <span class="token function">install</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="pip版本较低" tabindex="-1"><a class="header-anchor" href="#pip版本较低"><span>pip版本较低</span></a></h3><p>windows下出现类似“error:Microsoft Visual C++ 14.0 or greater is required...”的编译问题</p><p>出现对应的报错,通常是 c++版本或是 setuptools 版本不足,可以在</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">./python <span class="token parameter variable">-m</span> pip <span class="token function">install</span> <span class="token parameter variable">--upgrade</span> pip</span> |
| <span class="line">./python <span class="token parameter variable">-m</span> pip <span class="token function">install</span> <span class="token parameter variable">--upgrade</span> setuptools</span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="安装编译python" tabindex="-1"><a class="header-anchor" href="#安装编译python"><span>安装编译python</span></a></h3><p>使用以下指定从官网下载安装包并解压:</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line">.wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz</span> |
| <span class="line"><span class="token function">tar</span> Jxf Python-3.8.0.tar.xz </span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>编译安装对应的 python 包:</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre><code><span class="line"><span class="token builtin class-name">cd</span> Python-3.8.0</span> |
| <span class="line">./configure <span class="token assign-left variable">prefix</span><span class="token operator">=</span>/usr/local/python3</span> |
| <span class="line"><span class="token function">make</span></span> |
| <span class="line"><span class="token function">sudo</span> <span class="token function">make</span> <span class="token function">install</span></span> |
| <span class="line">python3 <span class="token parameter variable">--version</span></span> |
| <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!----><footer class="vp-page-meta"><div class="vp-meta-item edit-link"><a class="auto-link external-link vp-meta-label" href="https://github.com/apache/iotdb-docs/edit/main/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md" aria-label="发现错误?在 GitHub 上编辑此页" rel="noopener noreferrer" target="_blank"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon" name="edit"><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 上编辑此页<!----></a></div><div class="vp-meta-item git-info"><div class="update-time"><span class="vp-meta-label">上次编辑于: </span><!----></div><!----></div></footer><!----><!----><!----><!--]--></main><!--]--><!--]--><footer style="padding-bottom:2rem;"><span id="doc-version" style="display:none;">latest</span><p style="text-align:center;color:#909399;font-size:12px;margin:0 30px;">Copyright © 2024 The Apache Software Foundation.<br> Apache IoTDB, IoTDB, Apache, the Apache feather logo, and the Apache IoTDB project logo are either registered trademarks or trademarks of The Apache Software Foundation in all countries</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></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div> |
| <script type="module" src="/assets/app-COzQ4uU1.js" defer></script> |
| </body> |
| </html> |