IOTDB集群部署

2023-05-16

背景

IOTDB单节点的数据插入性能不是很好,所以,想看看集群的效果,那么就需要搭建集群的环境

文件获取

下载地址(选择集群版本)

 文件目录

完成IoTDB Cluster安装后,默认会在IoTDB Cluster的根目录下生成下列目录文件:

目录说明
conf配置文件目录
data默认数据文件目录,可通过修改配置文件修改位置
ext默认udf目录,可通过修改配置文件修改位置
lib库文件目录
logs运行日志目录
sbin可执行文件目录
tools系统工具目录

配置文件

位置:{cluster_root_dir}/conf

为方便 IoTDB Server 的配置与管理,IoTDB Server 为用户提供三种配置项,使得您可以在启动服务或服务运行时对其进行配置。

三种配置项的配置文件均位于 IoTDB 安装目录:$IOTDB_HOME/conf文件夹下,其中涉及 server 配置的共有 4 个文件,分别为:iotdb-cluster.propertiesiotdb-engine.propertieslogback.xml 和 iotdb-env.sh(Unix 系统)/iotdb-env.bat(Windows 系统), 您可以通过更改其中的配置项对系统运行的相关配置项进行配置。

配置文件的说明如下:

文件        文件说明
iotdb-env.sh/iotdb-env.bat环境配置项的默认配置文件。可配置 JAVA-JVM 的相关系统配置项
iotdb-engine.propertiesIoTDB 引擎层系统配置项的默认配置文件。可配置 IoTDB 引擎运行时的相关参数。此外,用户可以在文件中配置 IoTDB 存储时 TsFile 文件的相关信息,如每次将内存中的数据写入到磁盘前的缓存大小 (group_size_in_byte),内存中每个列打一次包的大小 (page_size_in_byte) 等
logback.xml日志配置文件,比如日志级别等
iotdb-cluster.propertiesIoTDB 集群所需要的一些配置

需要做的修改 

IOT集群配置文件

文件名       配置项配置项描述
iotdb-engine.properties

rpc_address

rpc的主机地址
cpr_portrpc的主机端口
base_dir基础文件目录
data_dirs数据存放目录
wal_dir

wal包存放目录

iotdb-cluster.properties

internal_ip

IOTDB 集群各个节点之间内部通信的 IP 地址

internal_meta_port

IoTDB meta 服务端口
internal_data_portIoTDB data 服务端口
cluster_info_public_port用于查看集群信息
seed_nodes集群中节点的地址

default_replica_num

集群副本数

1、单机部署集群 

 配置

(PS: 在原有文件上修改,更改需要更改的配置,其他维持不变

可在conf同目录下复制三个节点,并按照下面的配置文件进行修改配置

通过自己修改配置来处理端口和文件目录冲突,可以在一台机器上启动多个实例

# 复制node1
cp -r conf/ node1/
# 复制node2
cp -r conf/ node2/
# 复制node3
cp -r conf/ node3/
# 节点1:(默认)
iotdb-cluster.properties
seed_nodes = 127.0.0.1:9003,127.0.0.1:9005,127.0.0.1:9007
default_replica_num = 1
internal_meta_port = 9003
internal_data_port = 40010

# engine文件配置
iotdb-engine.properties
rpc_port=6667
system_dir=data/system data_dirs=data/data wal_dir=data/wal index_root_dir=data/index udf_root_dir=ext/udf tracing_dir=data/tracing
# 节点2:
iotdb-cluster.properties
seed_nodes = 127.0.0.1:9003,127.0.0.1:9005,127.0.0.1:9007
default_replica_num = 1
internal_meta_port = 9005
internal_data_port = 40012
#  iotdb-engine.properties配置
iotdb-engine.properties
rpc_port=6669
system_dir=node2/system data_dirs=node2/data wal_dir=node2/wal index_root_dir=node2/index udf_root_dir=node2/ext/udf tracing_dir=node2/tracing
# 节点3
iotdb-cluster.properties
seed_nodes = 127.0.0.1:9003,127.0.0.1:9005,127.0.0.1:9007
default_replica_num = 1
internal_meta_port = 9007
internal_data_port = 40014
# iotdb-engine.properties配置 
iotdb-engine.properties
rpc_port=6671
system_dir=node3/system data_dirs=node3/data wal_dir=node3/wal index_root_dir=node3/index udf_root_dir=node3/ext/udf tracing_dir=node3/tracing

 启动各个节点

# 启动节点1
nohup ./sbin/start-node.sh  ./node1/ >/dev/null 2>&1 &
# 启动节点2
nohup ./sbin/start-node.sh  ./node2/ >/dev/null 2>&1 &
# 启动节点3
nohup ./sbin/start-node.sh  ./node3/ >/dev/null 2>&1 &

 2、3节点部署集群

配置 

(PS: 在原有文件上修改,更改需要更改的配置,其他维持不变

这里只更改了其中几个参数,其他参数依据需要进行更改

# 各个节点(配置):
# iotdb-cluster.properties配置项

seed_nodes = A_private_Ip:9003,B_private_Ip:9003,C_private_Ip:9003
default_replica_num = 3
internal_ip = A_private_Ip (or B_private_Ip, C_private_Ip)

# iotdb-enginer.properties配置项
rpc_address = A_public_Ip (or B_private_Ip, C_public_Ip)

在各个节点上启动服务 

# 启动节点1
nohup ./sbin/start-node.sh  >/dev/null 2>&1 &

备注

保证三个节点的 6567, 6667, 9003, 9004, 40010, 40011 和 31999 端口是开放的

3、启动后查看

1、使用cli工具链接数据库(start-cli.sh)

当集群部署的时候,该命令需要指定主机地址

2、查看启动日志

 

附录

集群配置项解读

  • internal_ip 
名字internal_ip
描述IOTDB 集群各个节点之间内部通信的 IP 地址,比如心跳、snapshot 快照、raft log 等
类型String
默认值127.0.0.1
改后生效方式重启服务生效,集群建立后不可再修改
  • internal_meta_port
名字internal_meta_port
描述IoTDB meta 服务端口,用于元数据组(又称集群管理组)通信,元数据组管理集群配置和存储组信息** IoTDB 将为每个 meta 服务自动创建心跳端口。默认 meta 服务心跳端口为internal_meta_port+1,请确认这两个端口不是系统保留端口并且未被占用**
类型Int32
默认值9003
改后生效方式重启服务生效,集群建立后不可再修改
  • internal_data_port
名字internal_data_port
描述IoTDB data 服务端口,用于数据组通信,数据组管理数据模式和数据的存储** IoTDB 将为每个 data 服务自动创建心跳端口。默认的 data 服务心跳端口为internal_data_port+1。请确认这两个端口不是系统保留端口并且未被占用**
类型Int32
默认值40010
改后生效方式重启服务生效,集群建立后不可再修改
  • cluster_info_public_port
名字cluster_info_public_port
描述用于查看集群信息(如数据分区)的 RPC 服务的接口
类型Int32
默认值6567
改后生效方式重启服务生效
  • open_server_rpc_port
名字open_server_rpc_port
描述是否打开单机模块的 rpc port,用于调试模式,如果设置为 true,则单机模块的 rpc port 设置为rpc_port (in iotdb-engines.properties) + 1
类型Boolean
默认值false
改后生效方式重启服务生效,集群建立后不可再修改
  • seed_nodes
名字seed_nodes
描述集群中节点的地址,{IP/DOMAIN}:internal_meta_port格式,用逗号分割;对于伪分布式模式,可以都填写localhost,或是127.0.0.1 或是混合填写,但是不能够出现真实的 ip 地址;对于分布式模式,支持填写 real ip 或是 hostname,但是不能够出现localhost或是127.0.0.1。当使用start-node.sh(.bat)启动节点时,此配置意味着形成初始群集的节点,每个节点的seed_nodes应该一致,否则群集将初始化失败;当使用add-node.sh(.bat)添加节点到集群中时,此配置项可以是集群中已经存在的任何节点,不需要是用start-node.sh(bat)构建初始集群的节点。
类型String
默认值127.0.0.1:9003,127.0.0.1:9005,127.0.0.1:9007
改后生效方式重启服务生效
  • rpc_thrift_compression_enable
名字rpc_thrift_compression_enable
描述是否开启 thrift 压缩通信,注意这个参数要各个节点保持一致,也要与客户端保持一致,同时也要与iotdb-engine.propertiesrpc_thrift_compression_enable参数保持一致
类型Boolean
默认值false
改后生效方式重启服务生效,需要整个集群同时更改
  • default_replica_num
名字default_replica_num
描述集群副本数
类型Int32
默认值3
改后生效方式重启服务生效,集群建立后不可更改
  • multi_raft_factor
名字multi_raft_factor
描述每个数据组启动的 raft 组实例数量,默认每个数据组启动一个 raft 组
类型Int32
默认值1
改后生效方式重启服务生效,集群建立后不可更改
  • cluster_name
名字cluster_name
描述集群名称,集群名称用以标识不同的集群,一个集群中所有节点的 cluster_name 都应相同
类型String
默认值default
改后生效方式重启服务生效
  • connection_timeout_ms
名字connection_timeout_ms
描述同一个 raft 组各个节点之间的心跳超时时间,单位毫秒
类型Int32
默认值20000
改后生效方式重启服务生效
  • read_operation_timeout_ms
名字read_operation_timeout_ms
描述读取操作超时时间,仅用于内部通信,不适用于整个操作,单位毫秒
类型Int32
默认值30000
改后生效方式重启服务生效
  • write_operation_timeout_ms
名字write_operation_timeout_ms
描述写入操作超时时间,仅用于内部通信,不适用于整个操作,单位毫秒
类型Int32
默认值30000
改后生效方式重启服务生效
  • min_num_of_logs_in_mem
名字min_num_of_logs_in_mem
描述删除日志操作执行后,内存中保留的最多的提交的日志的数量。增大这个值将减少在 CatchUp 使用快照的机会,但也会增加内存占用量
类型Int32
默认值100
改后生效方式重启服务生效
  • max_num_of_logs_in_mem
名字max_num_of_logs_in_mem
描述当内存中已提交的日志条数达到这个值之后,就会触发删除日志的操作,增大这个值将减少在 CatchUp 使用快照的机会,但也会增加内存占用量
类型Int32
默认值1000
改后生效方式重启服务生效
  • log_deletion_check_interval_second
名字log_deletion_check_interval_second
描述检查删除日志任务的时间间隔,每次删除日志任务将会把已提交日志超过 min_num_of_logs_in_mem 条的最老部分删除,单位秒
类型Int32
默认值60
改后生效方式重启服务生效
  • enable_auto_create_schema
名字enable_auto_create_schema
描述是否支持自动创建 schema,这个值会覆盖iotdb-engine.propertiesenable_auto_create_schema的配置
类型BOOLEAN
默认值true
改后生效方式重启服务生效
  • consistency_level
名字consistency_level
描述读一致性,目前支持 3 种一致性:strong、mid、weak。strong consistency 每次操作都会尝试与 Leader 同步以获取最新的数据,如果失败(超时),则直接向用户返回错误; mid consistency 每次操作将首先尝试与 Leader 进行同步,但是如果失败(超时),它将使用本地当前数据向用户提供服务; weak consistency 不会与 Leader 进行同步,而只是使用本地数据向用户提供服务
类型strong、mid、weak
默认值mid
改后生效方式重启服务生效
  • is_enable_raft_log_persistence
名字is_enable_raft_log_persistence
描述是否开启 raft log 持久化
类型BOOLEAN
默认值true
改后生效方式重启服务生效

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOTDB集群部署 的相关文章

  • Centos7.2下RocketMQ 集群部署(2m-2s-sync)

    一 环境准备与介绍 1 部署架构 使用的模式是 2m 2s sync 2 broker机器信息 Master 1 xff1a 192 168 31 5 Slave 1 xff1a 192 168 31 6 Master 2 xff1a 19
  • geoserver集群部署

    geoserver集群部署 环境准备系统准备软件准备插件准备配置jdk安装tomcat部署geoserver安装mqgeoserver配置jms修改tomcat 启动文件新建broker xml放入cluster文件内容如下 三个节点均要新
  • k8s集群部署Java(springboot)项目

    1 java项目打成jar包 1 1 在IDEA开发工具中使用maven工具将开发完成的SpringBoot项目达成jar包 我自己的项目生成的jar为 xff1a demojenkins jar 1 2 将生成jar包上传到装有docke
  • zookeeper集群部署

    伪集群 三份配置文件 z1 cfg tickTime 61 2000 initLimit 61 10 syncLimit 61 5 dataDir 61 Users twx code space internet zookeeper rel
  • geoserver jms集群部署

    1 集群节点运行架构图 官网集群介绍 xff1a https docs geoserver org latest en user community jms cluster index html 节点之间通过jms消息通信 xff0c A节
  • ceph (cephadm)集群部署

    ceph 集群部署 cephadm 方法1 xff1a ansible ceph ansible使用Ansible部署和管理Ceph集群 xff08 1 xff09 ceph ansible被广泛部署 xff08 2 xff09 ceph
  • InfluxDB和IotDB介绍与性能对比

    InfluxDB简介 InfluxDB 是用Go语言编写的一个开源分布式时序 事件和指标数据库 xff0c 无需外部依赖 用于存储和分析时间序列数据的开源数据库 适合存储设备性能 日志 物联网传感器等带时间戳的数据 其设计目标是实现分布式和
  • Apache IoTDB’s UDF源码分析(1)

    目录 前言 命令行注册UDF函数 Create Function xxx as 34 全限定类名 34 语法分析 生成物理计划 执行物理计划进行函数注册 Select带有UDF函数的查询 前言 继上个月开始了Apache IoTDB的源码贡
  • 新手入门贡献Apache IoTDB

    名词解释 Issue 开源社区的一个任务的统称 xff0c 通常会有一个Issue 列表 xff0c 用于表示各种任务 xff0c 比如功能Issue Bug Issue Improvement Issue等 PR Pull Request
  • Apache IoTDB介绍

    什么是时序数据库 时序数据库 为万物互联插上一双翅膀 有态度的HBase Spark BigData 总体介绍 Apache IoTDB 始于清华大学软件学院 xff0c 是一款时序数据库 主要使用场景是在物联网相关行业 xff0c 如 x
  • Apache IoTDB 查询引擎源码阅读——数据异步传输模块

    本文参考了 Apache IoTDB 社区成员田原和王中的设计文档 xff0c 由于飞书链接限制 xff0c 本文没有贴出参考链接 背景 Apache IoTDB 查询引擎目前采用 MPP 架构 xff0c 一条查询 SQL 大致会经历下图
  • Apache IoTDB failed to start RPC ServerService, because Could not create ServerSocket on address

    原因 一般是端口占用 xff0c 可以 jps 检查是不是已经启动了一个 IoTDB
  • Apache IoTDB Query is time out (-1ms)

    现象 查询超时 xff0c 服务器出现一下日志 2022 01 05 15 57 05 724 pool 12 IoTDB query time manager 1 WARN o a i d q c QueryTimeManager 71
  • 时序数据库-4-[IoTDB]的python3操作

    从采集到存储 xff1a 时序数据库到底怎么处理时间 xff1f iotdb官方文档手册 1 容器安装iotdb 可以使用docker volume create命令创建 docker 卷 此命令将在 var lib docker volu
  • K8S集群部署

    环境准备 由于k8s 集群比较吃配置 xff0c 使用 按量计费 来进行学习 xff0c 三台 4核8G 的费用大概再 1 6元 小时 三台云服务器 配置 xff1a 2核2G 三台服务器内网互通 xff08 内网可以互相访问 VPC xf
  • ​揭秘国内首个进入Apache的高校顶级项目——Apache IoTDB

    本文约4200字 xff0c 建议阅读10 43 分钟 本文与你分享有关开源数据库项目成长 开源社区治理 加速赋能企业等方面的观点与见解 近年来 xff0c 随着人工智能 物联网的兴起 xff0c 大数据成为重要的生产资料 xff0c 而时
  • Elasticsearch7.9集群部署,head插件,canal同步mysql数据到es,亲自测试,无坑

    Elasticsearch集群部署 1 服务器规划 10 4 7 11 node1 10 4 7 12 node2 10 4 7 13 node3 1 集群相关 一个运行中的 Elasticsearch 实例称为一个节点 xff0c 而集群
  • IOTDB集群部署

    背景 IOTDB单节点的数据插入性能不是很好 xff0c 所以 xff0c 想看看集群的效果 xff0c 那么就需要搭建集群的环境 文件获取 下载地址 选择集群版本 文件目录 完成IoTDB Cluster安装后 xff0c 默认会在IoT
  • 从高校中走出的 Apache 顶级项目 —— IoTDB 核心成员黄向东

    本期访谈嘉宾 xff1a 黄向东 Apache 顶级开放源代码项目 IoTDB xff08 物联网数据库 xff09 核心成员 2021 年开源先锋 清华大学软件学院助理研究员 Q xff1a 简单介绍一下 Apache IoTDB IoT
  • [Zookeeper]启动后查看状态显示Error contacting service. It is probably not running解决办法

    需求分析 运行Zookeeper集群 问题描述 执行 zkService sh start方法后显示 JMX enabled by default Using config usr local zookeepercluster zookee

随机推荐

  • unity 3D:自动寻路

    首先 xff0c 搭建一下场景 xff0c 场景要求 xff1a 有遮挡 xff0c 设置好不可走区域为navigation static 以及 not walkable 在人身上添加Nav Mesh Agent 设置好后勾选显示导航网格
  • 数据结构 ——c++实现(知识点集合)

    数据结构 c 43 43 实现 xff08 知识点集合 xff09 某不知名学狗的复习记录 xff0c 包含数据结构基本概念 xff0c 线性表 xff0c 栈 队列 递归 xff0c 串 数组 广义表和树和森林内容整理 主要整理了知识点
  • Unity3D 使用SceneManager跳转/加载场景

    很久没有更新博客了 xff0c 最近也是还在学习U3D 下面写一下使用SceneManager跳转 加载场景 我们假设要点击一个按钮跳转 xff0c 那么我们只要把跳转的代码写进按钮点击事件里就好了 其实加载场景很简单 xff0c 只需要写
  • [OpenCV] aruco Markers识别 小车巡线

    小车巡线代码 include lt ros ros h gt include lt sensor msgs Image h gt include lt geometry msgs Twist h gt include lt cv bridg
  • 备份ubuntu

    在使用Ubuntu之前 xff0c 相信很多人都有过使用Windows系统的经历 如果你备份过Windows系统 xff0c 那么你一定记忆犹新 xff1a 首先需要找到一个备份工 具 通常都是私有软件 xff0c 然后重启电脑进入备份工具
  • Docker - docker build 命令详解

    docker build 命令原理 docker build 命令从 Dockerfile 和上下文构建镜像构建的上下文 xff1a 位于指定 PATH 或 URL 中的一组文件构建过程可以引用上下文中的任何文件 xff0c 例如 xff0
  • RealSense二次开发

    转载 xff1a librealsense2查看相机设备信息 JavaShuo 文章目录 1 librealsense2设备信息读取 xff12 xff0e realsense 投影函数和反投影函数3 深度相机与彩色相机的坐标变换 1 li
  • 大规模MIP的精确算法和实现

    大规模MIP的精确算法和实现 大规模MIP的精确算法和实现 xff1a 目录第1部分 xff1a CPLEX的Java API详解1 CPLEX简介2 构建简单的模型3 CPLEX的高级应用 第2部分 xff1a Gurobi的Python
  • 两种Dockerfile文件配置

    注意 xff1a xxx是您的项目名称 xff01 Xmx xff1a 堆最大值 xff1b Xms xff1a 堆初始值 COPY指令只能从执行docker build所在的主机上读取资源并复制到镜像中 而ADD指令还支持通过URL从远程
  • 网络编程-----在线词典项目(服务器)

    服务器端 span class token macro property span class token directive keyword include span span class token string lt stdio h
  • 模型的图优化

    图优化 最近在整理之前的一些工作内容 记录下来温故而知新 在各种开源推理框架中 xff0c 我们总能看到有一种graph optimizer技术 xff0c 主要是对用户想要运行的网络模型进行一种网络结构层面的优化 xff0c 剔除不需要的
  • 学C++有多难,你知道吗?

    都2020年了 xff0c 还要学C 43 43 吗 xff1f C 43 43 好多理工科大学里面都有 xff0c 它的学习难度比其他编程语言比如Python Javascript 和Java等等难 那为什么呢 xff1f C 43 43
  • Ubuntu-KCF/DSST算法无人机跟踪仿真/实物保姆级教程

    KCF算法无人机跟踪 介绍 自己搭建的无人机跟踪实验 xff0c 主要讲软件 xff0c 硬件的需要等等 基础知识准备 整个系统需要两部分 xff0c 识别程序和控制无人机运动的程序 xff0c 都是Python脚本 xff0c 但运行需要
  • Linux基础入门:单片机和Linux有什么不同吗

    我发现很多初学者只有单片机基础 xff0c 甚至没有单片机基础 在学习Linux时 xff0c 对很多概念比较陌生 xff0c 导致不知道学什么 xff0c 也不知道学了之后有什么用 所以小编在此分享此文 第1章 单片机和Linux的区别
  • 为什么都说代码改变世界?是因为这五位程序员创造了未来!

    致敬那些为软件开发奠定坚实基础的计算机科学先驱 从 1 和 0 开始 xff0c 编程经历了很长一段路 xff0c 才达到了现在的抽象状态 过去的程序员用伟大的发明 xff0c 为现代程序员轻松地完成工作奠定了坚实的基础 如果我们研究某个软
  • C语言丨关键字enum用法详解,看这篇就够了

    一 关键字enum的定义 enum是C语言中的一个关键字 xff0c enum叫枚举数据类型 xff0c 枚举数据类型描述的是一组整型值的集合 xff08 这句话其实不太妥当 xff09 xff0c 枚举型是预处理指令 define的替代
  • Ubuntu下cmake使用入门

    CMake是一个跨平台的安装 xff08 编译 xff09 工具 xff0c 可以用简单的语句来描述所有平台的安装 编译过程 他能够输出各种各样的makefile或者project文件 其包含自己的语法结构 xff0c 只要按照其语法编写成
  • Windows与Linux双系统设置默认引导项与删除引导项

    当电脑中安装了Windows和Linux双系统 xff0c 但是每次开机默认自动进入Linux系统时 xff0c 有时根本来不及选择 xff0c 平时常用的系统却是Windows xff0c 于是我们需要让电脑默认选择Windows系统启动
  • 统招非全日制研究生就业受歧视的回应文件

    根据教育部办公厅等五部门 关于进一步做好非全日制研究生就业工作的通知 教研厅函 2019 1号 以及教育部办公厅印发 关于统筹全日制和非全日制研究生管理工作的通知 教研厅函 2016 2号 文件 xff0c 明确自2017年起 xff0c
  • IOTDB集群部署

    背景 IOTDB单节点的数据插入性能不是很好 xff0c 所以 xff0c 想看看集群的效果 xff0c 那么就需要搭建集群的环境 文件获取 下载地址 选择集群版本 文件目录 完成IoTDB Cluster安装后 xff0c 默认会在IoT