blob: 6c601d182118e89ff193155dade2cc7918b3b2ab [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[776],{1173:function(s,a,t){"use strict";t.r(a);var e=t(29),n=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h2",{attrs:{id:"下载与安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#下载与安装"}},[s._v("#")]),s._v(" 下载与安装")]),s._v(" "),a("p",[s._v("IoTDB 为您提供了两种安装方式,您可以参考下面的建议,任选其中一种:")]),s._v(" "),a("p",[s._v("第一种,从官网下载安装包。这是我们推荐使用的安装方式,通过该方式,您将得到一个可以立即使用的、打包好的二进制可执行文件。")]),s._v(" "),a("p",[s._v("第二种,使用源码编译。若您需要自行修改代码,可以使用该安装方式。")]),s._v(" "),a("h3",{attrs:{id:"安装环境要求"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装环境要求"}},[s._v("#")]),s._v(" 安装环境要求")]),s._v(" "),a("p",[s._v("安装前请保证您的电脑上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量。")]),s._v(" "),a("p",[s._v("如果您需要从源码进行编译,还需要安装:")]),s._v(" "),a("ol",[a("li",[s._v("Maven >= 3.6 的运行环境,具体安装方法可以参考以下链接:"),a("a",{attrs:{href:"https://maven.apache.org/install.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://maven.apache.org/install.html"),a("OutboundLink")],1),s._v("。")])]),s._v(" "),a("blockquote",[a("p",[s._v("注: 也可以选择不安装,使用我们提供的'mvnw.sh' 或 'mvnw.cmd' 工具。使用时请用'mvnw.sh' 或 'mvnw.cmd'命令代替下文的'mvn'命令。")])]),s._v(" "),a("h3",{attrs:{id:"从官网下载二进制可执行文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#从官网下载二进制可执行文件"}},[s._v("#")]),s._v(" 从官网下载二进制可执行文件")]),s._v(" "),a("p",[s._v("您可以从 "),a("a",{attrs:{href:"http://iotdb.apache.org/Download/",target:"_blank",rel:"noopener noreferrer"}},[s._v("http://iotdb.apache.org/Download/"),a("OutboundLink")],1),s._v(" 上下载已经编译好的可执行程序 iotdb-xxx.zip,该压缩包包含了 IoTDB 系统运行所需的所有必要组件。")]),s._v(" "),a("p",[s._v("下载后,您可使用以下操作对 IoTDB 的压缩包进行解压:")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("Shell > uzip iotdb-<version>.zip\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("h3",{attrs:{id:"使用源码编译"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用源码编译"}},[s._v("#")]),s._v(" 使用源码编译")]),s._v(" "),a("p",[s._v("您可以获取已发布的源码 "),a("a",{attrs:{href:"https://iotdb.apache.org/Download/",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://iotdb.apache.org/Download/"),a("OutboundLink")],1),s._v(" ,或者从 "),a("a",{attrs:{href:"https://github.com/apache/iotdb/tree/master",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://github.com/apache/iotdb/tree/master"),a("OutboundLink")],1),s._v(" git 仓库获取")]),s._v(" "),a("p",[s._v("源码克隆后,进入到源码文件夹目录下。如果您想编译已经发布过的版本,可以先用"),a("code",[s._v("git checkout -b my_{project.version} v{project.version}")]),s._v("命令新建并切换分支。比如您要编译0.12.4这个版本,您可以用如下命令去切换分支:")]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("git")]),s._v(" checkout -b my_0.12.4 v0.12.4\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("切换分支之后就可以使用以下命令进行编译:")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("> mvn clean package -pl server -am -Dmaven.test.skip=true\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v('编译后,IoTDB 服务器会在 "server/target/iotdb-server-{project.version}" 文件夹下,包含以下内容:')]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("+- sbin/ <-- script files\n|\n+- conf/ <-- configuration files\n|\n+- lib/ <-- project dependencies\n|\n+- tools/ <-- system tools\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br")])]),a("p",[s._v("如果您想要编译项目中的某个模块,您可以在源码文件夹中使用"),a("code",[s._v("mvn clean package -pl {module.name} -am -DskipTests")]),s._v("命令进行编译。如果您需要的是带依赖的 jar 包,您可以在编译命令后面加上"),a("code",[s._v("-P get-jar-with-dependencies")]),s._v("参数。比如您想编译带依赖的 jdbc jar 包,您就可以使用以下命令进行编译:")]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(" mvn clean package -pl jdbc -am -DskipTests -P get-jar-with-dependencies\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("编译完成后就可以在"),a("code",[s._v("{module.name}/target")]),s._v("目录中找到需要的包了。")]),s._v(" "),a("h3",{attrs:{id:"通过-docker-安装-dockerfile"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#通过-docker-安装-dockerfile"}},[s._v("#")]),s._v(" 通过 Docker 安装 (Dockerfile)")]),s._v(" "),a("p",[s._v("Apache IoTDB 的 Docker 镜像已经上传至 "),a("a",{attrs:{href:"https://hub.docker.com/r/apache/iotdb",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://hub.docker.com/r/apache/iotdb"),a("OutboundLink")],1),s._v(",")]),s._v(" "),a("ol",[a("li",[a("p",[a("strong",[s._v("获取 IoTDB docker 镜像")])]),s._v(" "),a("ul",[a("li",[a("p",[a("strong",[s._v("推荐")]),s._v(":执行 "),a("code",[s._v("docker pull apache/iotdb:latest")]),s._v(" 即可获取最新的 docker 镜像。")])]),s._v(" "),a("li",[a("p",[s._v("用户也可以根据代码提供的 Dockerfile 文件来自己生成镜像。Dockerfile 存放在的 docker 工程下的 src/main/Dockerfile 中。")]),s._v(" "),a("ul",[a("li",[a("p",[s._v("方法 1:"),a("code",[s._v("$ docker build -t iotdb:base git://github.com/apache/iotdb#master:docker")])])]),s._v(" "),a("li",[a("p",[s._v("方法 2:")]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("git")]),s._v(" clone https://github.com/apache/iotdb\n$ "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("cd")]),s._v(" iotdb\n$ mvn package -DskipTests\n$ "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("cd")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" build -t iotdb:base "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v(".")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br")])])])])])]),s._v(" "),a("p",[s._v("当 docker image 在本地构建完成的时候 (示例中的 tag 为 iotdb:base),已经距完成只有一步之遥了!")])]),s._v(" "),a("li",[a("p",[a("strong",[s._v("创建数据文件和日志的 docker 挂载目录 (docker volume):")])])])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("$ docker volume create mydata\n$ docker volume create mylogs\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])]),a("ol",{attrs:{start:"3"}},[a("li",[a("strong",[s._v("运行 docker 容器:")])])]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" run -p "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("6667")]),s._v(":6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d iotdb:base /iotdb/bin/start-server.sh\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("您可以使用"),a("code",[s._v("docker ps")]),s._v("来检查是否运行成功,当成功时控制台会输出下面的日志:")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n2a68b6944cb5 iotdb:base "/iotdb/bin/start-se…" 4 minutes ago Up 5 minutes 0.0.0.0:6667->6667/tcp laughing_meitner\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])]),a("p",[s._v("您可以使用下面的命令来获取 container 的 ID:")]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" container "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("ls")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("假设这个 ID 为 <C_ID>.")]),s._v(" "),a("p",[s._v("然后使用下面的命令获取这个 ID 对应的 IP 地址,假设获取的 IP 为 <C_IP>:")]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" inspect --format"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'{{.NetworkSettings.IPAddress}}'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("C_ID"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("现在 IoTDB 服务器已经启动成功了。")]),s._v(" "),a("ol",{attrs:{start:"4"}},[a("li",[s._v("如果您想尝试使用 iotdb-cli 命令行,您可以使用如下命令:")])]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("exec")]),s._v(" -it "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("C_ID"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(" /bin/bash\n$ "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("now you have enter the container"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(": /iotdb/sbin/start-cli.sh -h localhost -p "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("6667")]),s._v(" -u root -pw root\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])]),a("p",[s._v("还可以使用本地的 iotdb-cli,执行如下命令:")]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("$ /%IOTDB_HOME%/sbin/start-cli.sh -h localhost -p "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("6667")]),s._v(" -u root -pw root\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("ol",{attrs:{start:"5"}},[a("li",[s._v("如果您想写一些代码来插入或者查询数据,您可以在 pom.xml 文件中加入下面的依赖:")])]),s._v(" "),a("div",{staticClass:"language-xml line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-xml"}},[a("code",[s._v(" "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("<")]),s._v("dependency")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("<")]),s._v("groupId")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("org.apache.iotdb"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("</")]),s._v("groupId")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("<")]),s._v("artifactId")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("iotdb-jdbc"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("</")]),s._v("artifactId")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("<")]),s._v("version")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("0.13.0-SNAPSHOT"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("</")]),s._v("version")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("</")]),s._v("dependency")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(">")])]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br")])]),a("p",[s._v("这里是一些使用 IoTDB-JDBC 连接 IoTDB 的示例:https://github.com/apache/iotdb/tree/master/example/jdbc/src/main/java/org/apache/iotdb")])])}),[],!1,null,null,null);a.default=n.exports}}]);