首页 > 其他分享 >iotdb单机版部署

iotdb单机版部署

时间:2024-09-23 11:36:56浏览次数:9  
标签:单机版 IoTDB 部署 wt01 ln iotdb 序列 root wf01

  本章将介绍如何启动IoTDB单机实例,IoTDB单机实例包括 1 个ConfigNode 和1个DataNode(即通常所说的1C1D)。

 

1.先决条件

1.1 获取安装包

  以下是iotdb的安装包官方地址

  https://www.apache.org/dyn/closer.cgi/iotdb/1.3.2/apache-iotdb-1.3.2-all-bin.zip

 

1.2 网络配置

  1.关闭防火墙

# 查看防火墙
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld

 

  2.保证端口不被占用

  (1) 集群占用端口的检查:在集群默认配置中,ConfigNode 会占用端口 10710 和 10720,DataNode 会占用端口 6667、10730、10740、10750 、10760、9090、9190、3000请确保这些端口未被占用。检查方式如下:

lsof -i:6667  或  netstat -tunp | grep 6667
lsof -i:10710  或  netstat -tunp | grep 10710
lsof -i:10720  或  netstat -tunp | grep 10720
#如果命令有输出,则表示该端口已被占用。

 

 

 

(2) 集群部署工具占用端口的检查:使用集群管理工具opskit安装部署集群时,需打开SSH远程连接服务配置,并开放22号端口。

yum install openssh-server            #安装ssh服务

systemctl start sshd                  #启用22号端口          

 

3.其它配置

(1) 关闭系统 swap 内存

echo "vm.swappiness = 0">> /etc/sysctl.conf

# 一起执行 swapoff -a 和 swapon -a 命令是为了将 swap 里的数据转储回内存,并清空 swap 里的数据。

# 不可省略 swappiness 设置而只执行 swapoff -a;否则,重启后 swap 会再次自动打开,使得操作失效。

swapoff -a && swapon -a

# 在不重启的情况下使配置生效。

sysctl -p

# 检查内存分配,预期 swap 为 0

free -m        

 

(2) 设置系统最大打开文件数为 65535,以避免出现 "太多的打开文件 "的错误

#查看当前限制

ulimit -n

# 临时修改

ulimit -n 65535

# 永久修改

echo "* soft nofile 65535" >>  /etc/security/limits.conf

echo "* hard nofile 65535" >>  /etc/security/limits.conf

#退出当前终端会话后查看,预期显示65535

ulimit -n     

 

 

4.软件依赖

#下面以在centos7,使用JDK-17安装为例:

 tar  -zxvf  jdk-17_linux-x64_bin.tar     #解压JDK文件

 Vim  ~/.bashrc                           #配置JDK环境

 {  export JAVA_HOME=/usr/lib/jvm/jdk-17.0.9

    export PATH=$JAVA_HOME/bin:$PATH    

 }  #添加JDK环境变量

 source  ~/.bashrc                        #配置环境生效

 java -version                            #检查JDK环境

(推荐直接使用yum安装,这样更方便快捷)  

 

2.  单机版部署

本章将介绍如何启动IoTDB单机实例,IoTDB单机实例包括 1 个ConfigNode 和1个DataNode(即通常所说的1C1D)。

 

2.1 注意事项

1.安装前请确认系统已参照系统配置准备完成。

2.部署时推荐优先使用hostname进行IP配置,可避免后期修改主机ip导致数据库无法启动的问题。设置hostname需要在目标服务器上配置/etc/hosts,如本机ip是192.168.1.3,hostname是iotdb-1,则可以使用以下命令设置服务器的 hostname,并使用hostname配置IoTDB的cn_internal_address、dn_internal_address、dn_rpc_address。

echo "192.168.1.3  iotdb-1" >> /etc/hosts

3.部分参数首次启动后不能修改,请参考下方的【参数配置】章节进行设置

4.无论是在 linux 还是 windows 中,请确保 IoTDB 的安装路径中不含空格和中文,避免软件运行异常。

5.推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,但是监控面板只有企业版才有,这里可以先忽略。

 

2.2 安装步骤

1.解压安装包并进入安装目录

unzip  iotdb-enterprise-{version}-bin.zip

cd  iotdb-enterprise-{version}-bin

 

2.参数配置

环境脚本配置

  • ./conf/confignode-env.sh(./conf/confignode-env.bat)配置

 

实际配置

 

  • ./conf/datanode-env.sh(./conf/datanode-env.bat)配置

 

实际配置

 

 

系统通用配置

打开通用配置文件(./conf/iotdb-common.properties 文件),设置以下参数:

 

 

 

ConfigNode配置

打开ConfigNode配置文件(./conf/iotdb-confignode.properties文件),设置以下参数:

 

 

 

DataNode 配置

打开DataNode配置文件(./conf/iotdb-datanode.properties文件),设置以下参数:

 

 

 

2.3 启动

单机版本没有什么花头,启动停止都非常简单。IoTDB 是一个基于分布式系统的数据库。要启动 IoTDB ,先启动单机版(一个 ConfigNode 和一个 DataNode)来检查安装。

直接使用 sbin 文件夹下的 start-standalone 脚本启动 IoTDB。

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

> bash sbin/start-standalone.sh

Windows 系统启动命令如下:

> sbin\start-standalone.bat

注意:目前,要使用单机模式,需要保证所有的地址设置为 127.0.0.1,如果需要从非 IoTDB 所在的机器访问此IoTDB,请将配置项 dn_rpc_address 修改为 IoTDB 所在的机器 IP。副本数设置为1。(上述已修改)

 

3.  基本操作

使用 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 系统启动命令如下:

> bash sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root.bat

启动后出现如图提示即为启动成功。

 

 

IoTDB 的基本操作

在这里,首先介绍一下使用 Cli 工具创建时间序列、插入数据并查看数据的方法。

数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个 database。在定义时间序列之前,要首先使用 CREATE DATABASE 语句创建数据库。SQL 语句如下:

IoTDB> CREATE DATABASE root.ln

我们可以使用 SHOW DATABASES 语句来查看系统当前所有的 database,SQL 语句如下:

IoTDB> SHOW DATABASES

执行结果为:

+---------------+----+-----------------------+---------------------+---------------------+

|       Database| TTL|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|

+---------------+----+-----------------------+---------------------+---------------------+

|        root.ln|null|                      1|                    1|            604800000|

+---------------+----+-----------------------+---------------------+---------------------+

Total line number = 1

Database 设定后,使用 CREATE TIMESERIES 语句可以创建新的时间序列,创建时间序列时需要定义数据的类型和编码方式。此处我们创建两个时间序列,SQL 语句如下:

IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN

IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE

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

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

IoTDB> SHOW TIMESERIES

执行结果为:

+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+

|                   timeseries|alias|     database|dataType|encoding|compression|tags|attributes|

+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+

|root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|

|     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|

+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+

Total line number = 2

查看具体的时间序列 root.ln.wf01.wt01.status 的 SQL 语句如下:

IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status

执行结果为:

+------------------------+-----+-------------+--------+--------+-----------+----+----------+

|              timeseries|alias|     database|dataType|encoding|compression|tags|attributes|

+------------------------+-----+-------------+--------+--------+-----------+----+----------+

|root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|

+------------------------+-----+-------------+--------+--------+-----------+----+----------+

Total line number = 1

接下来,使用 INSERT 语句向 root.ln.wf01.wt01.status 时间序列中插入数据,在插入数据时需要首先指定时间戳和路径后缀名称:

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

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

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

最后,我们查询之前插入的数据。使用 SELECT 语句我们可以查询指定的时间序列的数据结果,SQL 语句如下:

IoTDB> SELECT status FROM root.ln.wf01.wt01

查询结果如下:

+-----------------------+------------------------+

|                   Time|root.ln.wf01.wt01.status|

+-----------------------+------------------------+

|1970-01-01T08:00:00.100|                    true|

|1970-01-01T08:00:00.200|                   false|

+-----------------------+------------------------+

Total line number = 2

我们也可以查询多个时间序列的数据结果,SQL 语句如下:

IoTDB> SELECT * FROM root.ln.wf01.wt01

查询结果如下:

+-----------------------+--------------------------+-----------------------------+

|                   Time|  root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|

+-----------------------+--------------------------+-----------------------------+

|1970-01-01T08:00:00.100|                      true|                         null|

|1970-01-01T08:00:00.200|                     false|                        20.71|

+-----------------------+--------------------------+-----------------------------+

Total line number = 2

 

4.  权限管理

初始安装后的 IoTDB 中有一个默认用户:root,默认密码为 root。该用户为管理员用户,固定拥有所有权限,无法被赋予、撤销权限,也无法被删除。

建议一定要修改密码

ALTER USER <username> SET PASSWORD <password>;

Example: IoTDB > ALTER USER root SET PASSWORD 'newpwd';

 

标签:单机版,IoTDB,部署,wt01,ln,iotdb,序列,root,wf01
From: https://www.cnblogs.com/lizexiong/p/18426771

相关文章