IoTDB 集群环境搭建

news2025/1/16 5:34:31

什么是IoTDB

IoTDB(Internet of Things Database)是一个专门设计用于存储和管理大规模物联网(IoT)数据的开源时序数据库系统。它专注于高效地存储、查询和分析时间序列数据,特别适用于物联网应用中的大量实时数据。

IoTDB的主要特点包括:

  • 时序数据存储: IoTDB专为存储时间序列数据而设计,可以高效地存储各种类型的时间序列数据,如传感器数据、监控数据等。
  • 高性能: IoTDB通过多种优化策略实现高性能的数据写入和查询,支持实时数据的高速写入和查询。
  • 灵活的查询: IoTDB提供丰富的查询语言和查询接口,允许用户进行复杂的查询和分析操作。
  • 数据压缩: IoTDB支持数据压缩,可以减小存储空间占用,同时保持查询性能。
  • 多数据类型支持: IoTDB支持不同类型的数据,如数字、字符串、布尔值等。
  • 分布式支持: IoTDB可以在分布式环境下运行,支持数据分片和分布式查询,以应对大规模数据存储和查询需求。
  • 开源: IoTDB是开源的,可以免费使用、修改和分发。

IoTDB主要用于处理物联网领域的数据,例如工业自动化、智能家居、智能城市、智能农业等领域,这些领域通常涉及大量的实时数据采集和处理。通过使用IoTDB,开发人员可以更好地管理和分析这些大规模的时间序列数据。

安装相关软件

sudo yum install lsof net-tools -y

优化系统配置

sudo vim /etc/security/limits.conf
* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* seft memlock unlimited
* hard memlock unlimitedd

sudo vim /etc/sysctl.conf
net.core.somaxconn = 65535

# 重启电脑
reboot
  • soft nofile 655360:为所有用户设置软限制的最大文件句柄数为 655360。
  • hard nofile 131072:为所有用户设置硬限制的最大文件句柄数为 131072。
  • soft nproc 655350:为所有用户设置软限制的最大进程数为 655350。
  • hard nproc 655350:为所有用户设置硬限制的最大进程数为 655350。
  • soft memlock unlimited:为所有用户设置软限制的内存锁定为无限制。
  • hard memlock unlimited:为所有用户设置硬限制的内存锁定为无限制。

JDK17安装

# 下载 & 解压
cd /opt
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar -zxvf jdk-17_linux-x64_bin.tar.gz

# 配置环境变量
vim /etc/profile

export JAVA_HOME=/opt/jdk-17.0.8
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

java -version

IoTDB安装

#https://www.apache.org/dyn/closer.cgi/iotdb/1.1.2/apache-iotdb-1.1.2-all-bin.zip
# 下载 & 解压
cd /opt
wget https://dlcdn.apache.org/iotdb/1.1.2/apache-iotdb-1.1.2-all-bin.zip
unzip apache-iotdb-1.1.2-all-bin.zip

IoTDB配置

cd /opt/apache-iotdb-1.1.2-all-bin

master 配置
vim config/iotdb-confignode.properties
cn_internal_address=172.31.7.114
cn_internal_port=10710
cn_consensus_port=10720
cn_target_config_node_list=172.31.7.114:10710

vim iotdb-datanode.properties
dn_rpc_address=172.31.7.114
dn_rpc_port=6667
dn_internal_address=172.31.7.114
dn_internal_port=10730
dn_mpp_data_exchange_port=10740
dn_schema_region_consensus_port=10750
dn_data_region_consensus_port=10760
dn_target_config_node_list=172.31.7.114:10710,172.31.5.102:10710,172.31.5.35:10710


slave1 配置
vim config/iotdb-confignode.properties
cn_internal_address=172.31.5.102
cn_internal_port=10710
cn_consensus_port=10720
cn_target_config_node_list=master:10710

vim iotdb-datanode.properties
dn_rpc_address=172.31.5.102
dn_rpc_port=6667
dn_internal_address=172.31.5.102
dn_internal_port=10730
dn_mpp_data_exchange_port=10740
dn_schema_region_consensus_port=10750
dn_data_region_consensus_port=10760
dn_target_config_node_list=172.31.7.114:10710,172.31.5.102:10710,172.31.5.35:10710


slave2 配置
vim config/iotdb-confignode.properties
cn_internal_address=172.31.5.35
cn_internal_port=10710
cn_consensus_port=10720
cn_target_config_node_list=master:10710

vim iotdb-datanode.properties
dn_rpc_address=172.31.5.35
dn_rpc_port=6667
dn_internal_address=172.31.5.35
dn_internal_port=10730
dn_mpp_data_exchange_port=10740
dn_schema_region_consensus_port=10750
dn_data_region_consensus_port=10760
dn_target_config_node_list=172.31.7.114:10710,172.31.5.102:10710,172.31.5.35:10710

为每台机器, 堆内存配置为机器内存的 1/4

vim conf/datanode-env.sh
vim conf/confignode-env.sh

MAX_HEAP_SIZE="4G"

启动与停止

# 启动
sbin/start-confignode.sh &
sbin/start-datanode.sh &

# 查看启动状态
tail -f logs/log_datanode_all.log
# 2023-08-22 06:55:53,761 [main] INFO  o.a.i.db.service.DataNode:184 - Congratulation, IoTDB DataNode is set up successfully. Now, enjoy yourself!

#停止
sbin/stop-datanode.sh
sbin/stop-confignode.sh

# 任意节点检验集群状态
sbin/start-cli.sh -h 172.31.7.114

sbin/start-cli.sh -h 172.31.5.102

sbin/start-cli.sh -h 172.31.5.35

show cluster;

集群启动时要先启动第一台,再运行后两台。才能做到3C3D
在这里插入图片描述

清理环境 ( 首次启动出现问题, 可尝试这里解决 )

sbin/stop-standalone.sh

ps -ef|grep iotdb

kill -9 <pid>

cd /opt/apache-iotdb-1.1.2-all-bin
rm -rf data logs

重启IoTDB

依次关停其他从机器, 再关停主机器

sbin/stop-datanode.sh
sbin/stop-confignode.sh

优先启动主机器, 再启动其他从机器 confignode

sbin/start-confignode.sh &

最后依次启动datanode

sbin/start-datanode.sh &

验证

# 进入任意节点 cli
# 执行插入数据
insert into root.abc.a123.b123 (time, test)values(now(), "Hello World");

# 执行查询数据
select * from root.abc.a123.b123;

# 删除某一个序列
delete from root.abc.a123.b123.status where time < now()

# 删除数据
delete from root.abc.a123.b123.* where time < 2023-08-22T20:55:08;

# 数据覆盖
insert into root.abc.a123.b123 (time, test)values(1692699108000, "Hello IoTDB");
insert into root.abc.a123.b123 (time, test)values(1692699108000, "Hello IoTDB !!!");

操作任意节点, 新增数据, 删除数据, 覆盖数据, 其他节点更新到对应的变化;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/926762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1146:判断字符串是否为回文

#include <iostream> #include <string> using namespace std; int main() {string str;// 输入一个字符串cin>>str;int nstr.length();for(int i0;i<n;i){if(str[i]!str[n-1-i]){cout<<"no"; // 如果发现不对称的字符&#xff0c;则输出…

系统学习Linux-LVS集群

集群概述 负载均衡技术类型 四层负载均衡器 也称为 4 层交换机&#xff0c;主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡&#xff0c;如常见的 LVS、F5 等&#xff1b; 七层负载均衡器 也称为 7 层交换机&#xff0c;位于 OSI 的最高层&#xff0c;即…

第二讲Java基本语法(变量、数据类型、运算符)

一、前言导读 上一讲,我们安装java的开发工具idea,并且简单介绍如何使用,初步认识了Java的helloworld,我们写了第一行代码,有了初步的印象,接下来我们将真正展开对于java的了解,从这一讲开始,请大家做好笔记,改背的背。为什么说Java是一门编程语言呢,主要是他跟英语一…

控制疫情蔓延嵌入式物联网能帮大忙

联合国所订定之永续发展目标之一&#xff0c;便是针对防治传染病的蔓延做好准备。在新型冠状病毒(COVID-19)流行期间&#xff0c;防疫已成为当前最重要目标&#xff0c;科技在对抗传染病方面扮演重要角色&#xff0c;而物联网(IoT)相关技术正是我们重要的防疫武器──降低成本、…

网络渗透day2-Windows服务器服务管理相关

1.在Windows Server中&#xff0c;用于监视网络连接和流量的工具是&#xff1f; A.Event Viewer B.Performance Monitor C.Task Scheduler D.Resource Monitor 正确答案&#xff1a;D 你的答案&#xff1a;B 解析&#xff1a; 答案解析&#xff1a;Resource Monitor用于监…

【Jetpack】Navigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )

文章目录 一、页面跳转间的传统的数据传递方式1、传统的数据传递方式 - Bundle 传递数据1、Navigation 组件中的 Bundle 数据传递2、传统数据传递实现步骤3、FragmentA 完整代码示例4、FragmentB 完整代码示例5、执行结果 2、使用 Bundle 传递数据安全性差 二、页面跳转间的传统…

Linux详解(包含Linux安装教程)

文章目录 Linux详解一、安装Linux操作系统VMware介绍安装虚拟机VMware下载centos 7系统安装centos 7系统 二、Linux基础命令Linux的目录结构Linux命令入门目录切换相关命令 cd、pwd相对路径、绝对路径和特殊路径符掌握通过mkdir命令创建文件夹文件操作命令touch、cat、more文件…

APT80DQ60BG-ASEMI新能源功率器件APT80DQ60BG

编辑&#xff1a;ll APT80DQ60BG-ASEMI新能源功率器件APT80DQ60BG 型号&#xff1a;APT80DQ60BG 品牌&#xff1a;ASEMI 芯片个数&#xff1a;2 封装&#xff1a;TO-3P 恢复时间&#xff1a;&#xff1e;50ns 工作温度&#xff1a;-55C~150C 浪涌电流&#xff1a;600A …

Python“牵手”易贝(Ebay)商品列表数据,关键词搜索ebayAPI接口数据,ebayAPI接口申请指南

Ebay平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范&#xff0c; EbayAPI接口是指通过编程的方式&#xff0c;让开发者能够通过HTTP协议直接访问Ebay平台的数据&#xff0c;包括商品信息、店铺信息、物流信息等&#xff0c;从而实现Ebay平…

Etsy如何安全养店?7个因素你要知道

Etsy是全球大型的创意市场电商平台&#xff0c;很多跨境玩家在开店之后&#xff0c;兴致冲冲开始上架&#xff0c;结果流量没有不说&#xff0c;很快店铺就被封禁。注意了&#xff01;Etsy也是一个规则比较严格的平台&#xff0c;想要做好Etsy&#xff0c;一定要看好下面这7个因…

【Java 动态数据统计图】前后端对接数据格式(Map返回数组格式数据)六(120)

说明&#xff1a; 前端使用&#xff1a;vue3.0 前后端对接数据格式&#xff1a;无非就是前端把后端返回的数据处理为自己想要的格式&#xff0c;或者&#xff0c;后端给前端处理好想要的格式&#xff1b; 针对前后端的柱状图&#xff0c;趋势图等数据对接&#xff0c;前端一般需…

Java网络编程(二)经典案例[粘包拆包]

粘包拆包 概述 TCP是面向流的协议,TCP在网络上传输的数据就是一连串的数据,完全没有分界线。 TCP协议的底层并不了解上层业务的具体定义,它会根据TCP缓冲区的实际情况进行包的划分。 在业务层面认为一个完整的包可能会被TCP拆分成多个小包进行发送,也可能把多个小的包封装成一…

Qt(C++)计算一段程序执行经过的时间

一、前言 在许多应用程序和系统中,需要对经过的时间进行计算和记录。例如 可能想要测量某个操作的执行时间,或者记录一个过程中经过的时间以进行性能分析。在这些场景下,准确地计时是非常重要的。 Qt提供了一个功能强大的计时器类QElapsedTimer,可以方便地记录经过的时间…

SSL核心概念 SSL类型级别

SSL&#xff1a;SSL&#xff08;Secure Sockets Layer&#xff09;即安全套接层&#xff0c;及其继任者传输层安全&#xff08;Transport Layer Security&#xff0c;TLS&#xff09;是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 H…

b站文件太大无法上传怎么办?视频压缩这样做

据了解&#xff0c;B站在网页端和桌面客户端允许上传的视频上线为4G&#xff0c;当视频文件超出这个大小时&#xff0c;我们就要考虑才去方法压缩一下视频大小&#xff0c;不然就会出现无法上传的问题&#xff0c;下面就给大家分享几个视频压缩方法&#xff0c;供大家参考使用。…

sql server删除历史数据

1 函数 datediff函数: DATEDIFF ( datepart , startdate , enddate )datepart的取值可以是year,quarter,Month,dayofyear,Day,Week,Hour,minute,second,millisecond startdate 是从 enddate 减去。如果 startdate 比 enddate 晚&#xff0c;返回负值。 2 例子 删除2023年以…

消息队列的模拟实现(一)

消息队列的模拟实现&#xff08;一&#xff09; 认识消息队列生产者消费者模型两大特征市面上可见的消息队列MQ消息队列的特点&#xff1a; 模拟实现消息队列模型分类提供的核心API消息队列的推拉模式 交换机的类型持久化网络通信额外提供的方法使用一个TCP和信道之间的区别 消…

计算机网络-笔记-第一章-计算机网络概述

目录 一、第一章——计算机网络概述 1、因特网概述 &#xff08;1&#xff09;网络、互联网、因特网 &#xff08;2&#xff09;因特网发展的三个阶段 &#xff08;3&#xff09;因特网服务的提供者&#xff08;ISP&#xff09; &#xff08;4&#xff09;因特网标准化工…

源代码加密、防泄密软件

企业源代码防泄密是指企业采取措施保护其软件或应用程序源代码不被未授权的人员获取、泄露或盗用的一种安全措施。源代码是软件的核心组成部分&#xff0c;其中包含了程序员编写的具体指令和算法&#xff0c;可以被计算机理解和执行。泄漏企业的源代码可能导致严重的后果&#…

DEIF SCM-1测量模块

参数测量&#xff1a; SCM-1测量模块通常用于测量电力系统的各种参数&#xff0c;例如电压、电流、频率、功率因数等。 监测功能&#xff1a; 它能够实时监测电力系统的性能&#xff0c;以确保其在正常运行范围内。 通信接口&#xff1a; DEIF的测量模块通常具有通信接口&…