IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> IoTDB下载安装 -> 正文阅读

[开发工具]IoTDB下载安装

IoTDB下载安装

环境准备

IoTDB 的理念就是系统运维要简单,要一键启动、开箱即用。先从安装环境开始说起

  1. 安装前需要保证设备上配有 JDK>=1.8 的运行环境,并配置好 JAVA_HOME 环境变量;

  2. 如果希望能从源代码编译和安装IoTDB,需要maven版本 >= 3.6;

  3. 将最大文件打开数(max open files)设置为 65535,以避免"too many open files"错误。

  4. somaxconn 设置为 65535,以避免系统在高负载时出现"connection reset" 错误(可选)。

下载与安装

IoTDB 提供了两种安装方式:

第一种,从官网下载安装包。这是推荐的安装方式,通过该方式,可以得到一个可以立即使用的、打包好的二进制可执行文件。

第二种,使用源码编译。如果想自行修改代码,可以使用这种安装方式。

历史版本下载:https://archive.apache.org/dist/iotdb/

从官网下载二进制可执行文件

可以从 http://iotdb.apache.org/Download/ (opens new window)上下载已经编译好的可执行程序 iotdb-xxx.zip,该压缩包包含了 IoTDB 系统运行所需的所有必要组件。

在这里插入图片描述
下载后,可使用如下命令对 IoTDB 的压缩包进行解压:

uzip iotdb-<version>.zip

使用源码编译

可以获取已发布的源码 https://iotdb.apache.org/Download/,或者从 https://github.com/apache/iotdb/tree/master 仓库获取

克隆项目

git clone https://github.com/apache/iotdb.git

git clone 命令克隆iotdb项目
源码克隆后,进入到源码文件夹目录下。
iotdb项目目录结构
如果想编译已经发布过的版本,可以先用git checkout -b my_{project.version} v{project.version}命令新建并切换分支。比如当要编译0.12.4这个版本的源码,可以用如下命令去切换分支:

git checkout -b my_0.12.4 v0.12.4

server编译

切换分支之后就可以使用以下命令进行编译:

mvn clean package -pl server -am -Dmaven.test.skip=true # 跳过单测打包server

跳过单测打包server
编译后,IoTDB 服务器会在 “server/target/iotdb-server-{project.version}” 文件夹下,包含以下内容:
IoTDB 服务器server目录打包后

+- conf/      	<-- configuration files  # 配置文件目录
|
+- lib/       	<-- project dependencies  # 系统工具目录
|
+- logs/      	<-- project logs  #项目日志目录
|
+- sbin/       	<-- script files  # 启动和停止脚本目录
|
+- tools/      	<-- system tools  # 依赖包目录

cli编译

mvn clean package -pl cli -am -Dmaven.test.skip=true # 跳过单测打包cli

编译后,IoTDB cli工具在"cli/target/iotdb-server-{project.version}"文件下,包含以下内容:
IoTDB cli工具目录打包后

+- sbin/       	<-- script files  # 启动和停止脚本目录
|
+- lib/       	<-- project dependencies  # 系统工具目录
|
+- tools/      	<-- system tools  # 依赖包目录

如果想要编译项目中的某个模块,可以在源码文件夹中使用mvn clean package -pl {module.name} -am -DskipTests命令进行编译。如果需要的是带依赖的 jar 包,您可以在编译命令后面加上-P get-jar-with-dependencies参数。

比如想编译带依赖的 jdbc jar 包,可以使用以下命令进行编译:

mvn clean package -pl jdbc -am -DskipTests -P get-jar-with-dependencies # 编译打包带依赖的 jar 包

编译完成后就可以在{module.name}/target目录中找到需要的包了。

通过 Docker 安装 (Dockerfile)

dockerfile 文件位于 https://github.com/apache/iotdb/blob/master/docker/src/main

Docker简介

Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。

“Docker”一词来自英国口语,意为码头工人(Dock Worker),即从船上装卸货物的人。

Docker新旧logo图标

安装

添加源进行安装

首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。

设置仓库

1、安装依赖包,yum-utils提供yum-config-manager工具,devicemapper存储驱动需要device-mapper-persistent-datalvm2

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

2、使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3、可选:体验版和测试版默认是关闭的,你可以通过下面的命令打开,不打开也不影响稳定版的使用。

$ # 打开体验版与测试版
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

$ # 关闭体验版与测试版
$ sudo yum-config-manager --disable docker-ce-edge
$ sudo yum-config-manager --disable docker-ce-test

注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里。

安装docker CE

1、安装最新版本的docker CE

$ sudo yum install -y docker-ce

以上命令始终安装docker CE最新版本,如果提示接受GPG key,官方说检查指纹是否是
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,是的话,就接受,不过我在安装的过程中没有遇见。

2、安装指定版本的docker CE

列出版本,版本号从高到低 yum list docker-ce --showduplicates | sort -r

[root@leviyun ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror
已安装的软件包
可安装的软件包
Loading mirror speeds from cached hostfile
docker-ce.x86_64            3:20.10.9-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.8-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.7-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.6-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.5-3.el7                    docker-ce-stable
......

安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.03.0.ce-1.el7.centos ,其命令为:

$ sudo yum install -y docker-ce-18.03.0.ce

其他版本同理。

启动docker CE

启动其实是启动docker deamon,即docker守护进程/docker引擎

$ sudo systemctl start docker

如果需要升级的话,移除之前的docker,再重复上面的过程即可。

Apache IoTDB 的 Docker 镜像已经上传至https://hub.docker.com/r/apache/iotdb

1、获取 IoTDB docker 镜像

  • 推荐:执行 docker pull apache/iotdb:latest 即可获取最新的 docker 镜像。

获取 IoTDB docker 镜像

  • 用户也可以根据代码提供的 Dockerfile 文件来自己生成镜像。Dockerfile 存放在的 docker 工程下的 src/main/Dockerfile 中。

根据代码提供的 Dockerfile 文件来自己生成镜像

方法 1:

docker build -t iotdb:base git://github.com/apache/iotdb#master:docker

方法 2:

git clone https://github.com/apache/iotdb
cd iotdb
mvn package -DskipTests
cd docker
docker build -t iotdb:base .

当 docker image 在本地构建完成的时候 (示例中的 tag 为 iotdb:base),已经距完成只有一步之遥了!

2、创建数据文件和日志的 docker 挂载目录 (docker volume)

docker volume create mydata
docker volume create mylogs

3、运行 docker 容器

docker run -p 6667:6667 -v mydata:/iotdb/data -v mylogs:/iotdb/logs -d iotdb:base /iotdb/bin/start-server.sh

您可以使用docker ps来检查是否运行成功,当成功时控制台会输出下面的日志:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
2a68b6944cb5        iotdb:base          "/iotdb/bin/start-se…"   4 minutes ago       Up 5 minutes        0.0.0.0:6667->6667/tcp              laughing_meitner

您可以使用下面的命令来获取 container 的 ID:

docker container ls

然后使用下面的命令获取这个 ID 对应的 IP 地址,假设获取的 IP 为 <C_IP>:

docker inspect --format='{{.NetworkSettings.IPAddress}}' <C_ID>

现在 IoTDB 服务器已经启动成功了。

4、使用 iotdb-cli 命令行

使用如下命令:

docker exec -it <C_ID> /bin/bash
(now you have enter the container): /iotdb/sbin/start-cli.sh -h localhost -p 6667 -u root -pw root

还可以使用本地的 iotdb-cli,执行如下命令:

/%IOTDB_HOME%/sbin/start-cli.sh -h localhost -p 6667 -u root -pw root

如果想写一些代码来插入或者查询数据,您可以在 pom.xml 文件中加入下面的依赖:

<dependency>
    <groupId>org.apache.iotdb</groupId>
    <artifactId>iotdb-jdbc</artifactId>
    <version>0.14.0-SNAPSHOT</version>
</dependency>

IoTDB 试用

用户可以根据以下操作对 IoTDB 进行简单的试用,若以下操作均无误,则说明 IoTDB 安装成功。

启动 IoTDB

用户可以使用 sbin 文件夹下的 start-server 脚本启动 IoTDB。

Linux 系统与 MacOS 系统启动命令如下:

$ nohup sbin/start-server.sh >/dev/null 2>&1 &
or
$ nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &

Linux 系统与 MacOS 系统启动IoTDB命令 挂载启动

kill -9 端口 取消挂载的iotdb服务

Windows 系统启动命令如下:

$ sbin\start-server.bat -c <conf_path> -rpc_port <rpc_port>
  • -c” and “-rpc_port” 都是可选的。
  • 选项 “-c” 指定了配置文件所在的文件夹。
  • 选项 “-rpc_port” 指定了启动的 rpc port
  • 如果两个选项同时指定,那么* rpc_port 将会覆盖 conf_path *下面的配置。

或者直接双击sbin文件夹下的start-server.bat启动脚本运行。

双击start-server.bat启动iotdb服务

双击start-server.bat启动iotdb服务cmd

使用 Cli 工具

IoTDB 为用户提供多种与服务器交互的方式,在此我们介绍使用 Cli 工具进行写入、查询数据的基本步骤。

初始安装后的 IoTDB 中有一个默认用户:root,默认密码为 root。

用户可以使用该用户运行 Cli 工具操作 IoTDB。

Cli 工具启动脚本为 sbin 文件夹下的 start-cli 脚本。启动脚本时需要指定运行 ip、port、username 和 password。

若脚本未给定对应参数,则默认参数为"-h 127.0.0.1 -p 6667 -u root -pw -root"

以下启动语句为服务器在本机运行,且用户未更改运行端口号的示例。

Linux 系统与 MacOS 系统启动命令如下:

$ sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root

Windows 系统启动命令如下:

sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root

或者直接双击sbin文件夹下的start-cli.bat脚本运行。
iotdb cli工具启动脚本start-cli.bat,双击即可运行
iotdb cli 启动后出现如图提示即为启动成功

基本的IoTDB命令

使用Cli工具创建时间序列、插入数据并查看数据的方法:

数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个存储组。

在定义时间序列之前,要首先使用 SET STORAGE GROUP 语句定义存储组。

SQL 语句如下:

SET STORAGE GROUP TO root.ln

使用 SHOW STORAGE GROUP 语句来查看系统当前所有的存储组。

SQL 语句如下:

SHOW STORAGE GROUP

执行结果为:
SHOW STORAGE GROUP 语句查看当前所有的存储组
存储组设定后,使用 CREATE TIMESERIES 语句可以创建新的时间序列,创建时间序列时需要定义数据的类型和编码方式。此处我们创建两个时间序列,SQL 语句如下:

IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
Msg: The statement is executed successfully.
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
Msg: The statement is executed successfully.

为了查看指定的时间序列,我们可以使用 SHOW TIMESERIES <Path>语句,其中<Path>表示时间序列对应的路径,默认值为空,表示查看系统中所有的时间序列。

使用 SHOW TIMESERIES 语句查看系统中存在的所有时间序列,SQL 语句如下:

SHOW TIMESERIES

执行结果为:
使用 SHOW TIMESERIES 语句查看系统中存在的所有时间序列
查看具体的时间序列 root.ln.wf01.wt01.status 的 SQL 语句如下:

SHOW TIMESERIES root.ln.wf01.wt01.status

执行结果为:
查看具体的时间序列需要指定时间序列
使用 INSERT 语句向 root.ln.wf01.wt01.status 时间序列中插入数据,在插入数据时需要首先指定时间戳和路径后缀名称:

INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);

也可以向多个时间序列中同时插入数据,这些时间序列同属于一个时间戳:

INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)

使用 SELECT 语句可以查询指定的时间序列的数据结果,SQL 语句如下:

SELECT status FROM root.ln.wf01.wt01

查询结果:
使用 SELECT 语句可以查询指定的时间序列的数据结果
查询多个时间序列的数据结果,SQL 语句如下:

SELECT * FROM root.ln.wf01.wt01

查询结果:
SELECT 查询多个时间序列的数据结果
输入 quitexit 可退出 Cli 结束本次会话。


也可以向多个时间序列中同时插入数据,这些时间序列同属于一个时间戳:
```sql
INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)

使用 SELECT 语句可以查询指定的时间序列的数据结果,SQL 语句如下:

SELECT status FROM root.ln.wf01.wt01

查询结果:
[外链图片转存中...(img-SocGOJ5w-1649310380555)]
查询多个时间序列的数据结果,SQL 语句如下:

SELECT * FROM root.ln.wf01.wt01

查询结果:
在这里插入图片描述
输入 quitexit 可退出 Cli 结束本次会话。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:40:00  更:2022-04-09 18:40:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:15:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码