当前位置: 首页 > news >正文

IoTDB 集群高效管理:一键启停功能介绍

3e2f04332bcc98a28cd3f8ef203d424e.jpeg

如何快速启动、停止 IoTDB 集群节点的功能详解!

在部署 IoTDB 集群时,对于基础的单机模式,启动过程相对简单,仅需执行 start-standalone 脚本来启动 1 个 ConfigNode 节点和 1 个 DataNode 节点。然而,对于更高级的分布式模式,如 3C3D(3 个 ConfigNode 节点和 3 个 DataNode 节点),则需要在每个节点的主机上分别配置相应的配置文件,并逐一执行 start 脚本以启动集群。

随着节点数量的增加,手动启动过程变得繁琐且效率低下。为了提升部署效率,实现快速且自动化的集群启动与管理,我们提供了一个集中化的脚本工具,以支持一键式启动和停止多个节点的操作。

01 什么是一键启停集群功能?

在 IoTDB 的根目录中,sbin 子目录包含了 start-all.sh 和 stop-all.sh 脚本,这些脚本与 conf 子目录中的 iotdb-cluster.properties 配置文件协同工作,提供了在 Linux 操作系统环境下实现集群的一键式启动和停止功能。通过这种方式,可以高效地管理 IoTDB 集群的生命周期,简化了部署和运维流程。

02 如何使用一键启停集群功能?

我们需要在 IoTDB 根目录下的 conf 目录下的 iotdb-cluster.properties 文件中配置 IoTDB 的节点信息以及节点所在主机信息。详情如下。

步骤一:填写 iotdb-cluster.properties 配置文件

# Configure ConfigNodes machine addresses separated by ,
confignode_address_list=
# Configure DataNodes machine addresses separated by ,
datanode_address_list=
# User name for logging in to the deployment machine using ssh
ssh_account=root
# ssh login port
ssh_port=22
# iotdb deployment directory (iotdb should be deployed to the following folders in all machines)
confignode_deploy_path=
datanode_deploy_path=

confignode_address_list:待启动/停止的 ConfigNode 节点所在主机的 IP 列表,如果有多个需要用“,”分隔。

datanode_address_list:待启动/停止的 DataNode 节点所在主机的 IP 列表,如果有多个需要用“,”分隔。

ssh_account:通过 SSH 登陆目标主机的用户名,需要所有的主机的用户名都相同,默认用户是 root。

ssh_port:目标主机对外暴露的 SSH 端口,需要所有的主机的用户名都相同,默认端口是 22。

confignode_deploy_path:待启动/停止的所有 ConfigNode 所在目标主机的路径,需要所有待启动/停止的 ConfigNode 节点在目标主机的相同目录下。

datanode_deploy_path:待启动/停止的所有 DataNode 所在目标主机的路径,需要所有待启动/停止的 DataNode 节点在目标主机的相同目录下。

注意:

如果在未配置 iotdb-cluster.properties 配置文件的情况下执行 start-all.sh 或者 stop-all.sh 脚本则默认会启停当前脚本所在 IOTDB_HOME 目录下的 ConfigNode 与 DataNode 节点

推荐配置 ssh 免密登录:未配过 ssh 免密登陆的用户在启动脚本后,会提示输入服务器密码以便于后续启动/停止/销毁操作。如果已经配过 ssh 免密登陆的,就不用在执行脚本过程中输入服务器密码。

当集群变更时,需要手动更新此配置文件。

步骤二:执行一键启动集群

./sbin/start-all.sh

执行此命令会依次启动 iotdb-cluster.properties 配置文件中所配置的 ConfigNode 和 DataNode。

步骤三:执行一键停止集群

./sbin/stop-all.sh

执行此命令会依次停止 iotdb-cluster.properties 配置文件中所配置的 ConfigNode 和 DataNode。

03 一键启/停集群的内部机制解读

(1)一键启动流程

在 IoTDB 集群的一键启动过程中,会遵循特定的启动顺序原则:首先启动集群的 SeedConfigNode 节点,随后将其他节点加入集群

首先,我们会识别并初始化脚本所在目录的父目录为 IOTDB_HOME 环境变量。

接着,脚本将检查 iotdb-cluster.properties 配置文件的存在性和完整性。

如果配置文件缺失或存在未填写的必填项,脚本将默认启动 IOTDB_HOME 目录下的单机 1C1D 模式,等同于运行 start-standalone.sh。

若配置文件完整,脚本将依据配置项顺序启动目标主机上的 ConfigNode 节点,并在每个 ConfigNode 节点启动完成后,立即启动同一主机上的所有 DataNode 节点。随后,脚本将继续启动下一个 ConfigNode 节点,直至所有 ConfigNode 节点均已启动。

最后,脚本将依次启动剩余的未启动 DataNode 节点,确保集群的完整启动。

(2)一键停止流程

在 IoTDB 集群的一键停止流程中,操作顺序与一键启动过程相反,但同样遵循初始化和配置检查的步骤。

首先,将当前脚本所在目录的上一级目录设置为 IoTDB_HOME 环境变量。

随后,脚本会检查 iotdb-cluster.properties 配置文件是否存在。

若文件缺失,则停止 IoTDB_HOME 目录下的单机 1C1D 模式,等同于运行 stop-standalone.sh。

如果配置文件存在,脚本将验证其完整性,若发现必填项未填写,则同样停止单机 1C1D 模式。

若配置文件完整,脚本将根据配置项,先逐个停止目标主机上的 DataNode 节点,若同一主机上存在 ConfigNode 节点,将在 DataNode 节点停止后紧接着停止 ConfigNode 节点。脚本将继续此流程,直至所有 DataNode 节点停止。

最后,脚本将按顺序停止剩余的 ConfigNode 节点,确保集群的完整关闭。

这一过程确保了集群的有序关闭,同时避免了因停止顺序不当可能引起的问题。

04 总结

在本文中,我们探讨了如何通过精心设计的一键启停脚本工具,实现对 IoTDB 集群的高效管理。大家只需在 iotdb-cluster.properties 配置文件中填写必要的节点信息,即可享受到一键启动和停止集群的便利。我们强烈推荐配置 SSH 免密登录,以进一步简化部署和运维流程。这种自动化的解决方案不仅提升了集群的启动效率,还确保了集群的有序关闭,避免因操作不当带来的风险,是实现快速、可靠管理 IoTDB 集群的不二之选。

更多内容推荐:

• 了解如何使用 IoTDB 企业版

3ea70eee44dcd8068d9a9af87922beb0.gif

a290e75b96f259a90c8526ca9d5955f8.jpeg

b2cad2e3ef2dceb0476546545f47837c.jpeg

1f29a7b4449487667e681eb4c707550d.jpeg

d5eb5d6a3e48e1a32e96f31b5c51470f.gif

相关文章:

IoTDB 集群高效管理:一键启停功能介绍

如何快速启动、停止 IoTDB 集群节点的功能详解! 在部署 IoTDB 集群时,对于基础的单机模式,启动过程相对简单,仅需执行 start-standalone 脚本来启动 1 个 ConfigNode 节点和 1 个 DataNode 节点。然而,对于更高级的分布…...

一个spring boot项目的启动过程分析

1、web.xml 定义入口类 <context-param><param-name>contextConfigLocation</param-name><param-value>com.baosight.ApplicationBoot</param-value> </context-param> 2、主入口类: ApplicationBoot,SpringBoot项目的mian函数 SpringBo…...

智驭未来:人工智能与目标检测的深度交融

在科技日新月异的今天&#xff0c;人工智能&#xff08;AI&#xff09;如同一股不可阻挡的浪潮&#xff0c;正以前所未有的速度重塑着我们的世界。在众多AI应用领域中&#xff0c;目标检测以其独特的魅力和广泛的应用前景&#xff0c;成为了连接现实与智能世界的桥梁。本文旨在…...

01MFC建立单个文件类型——画线

文章目录 选择模式初始化文件作用解析各初始化文件解析 类导向创建鼠标按键按下抬起操作函数添加一个变量记录起始位置注意事项代码实现效果图 虚实/颜色线 选择模式 初始化文件作用解析 运行&#xff1a; 各初始化文件解析 MFC&#xff08;Microsoft Foundation Classes&am…...

免杀中用到的工具

&#x1f7e2; 绝大部分无法直接生成免杀木马&#xff0c;开发、测试免杀时会用到。 工具简称 概述 工具来源 下载路径 x64dbg 中文版安装程序(Jan 6 2024).exe 52pojie hellshell 官方的加密或混淆shellcode github Releases ORCA / HellShell GitLab hellshe…...

[vite] Pre-transform error: Cannot find package pnpm路径过长导致运行报错

下了套vue3的代码&#xff0c;执行pnpm install初始化&#xff0c;使用vite启动&#xff0c;启动后访问就会报错 报错信息 ERROR 16:40:53 [vite] Pre-transform error: Cannot find package E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\…...

Promise总结

Promise.then() 的返回值仍然是 Promise 对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>D…...

ROI 接口便捷修改

传入的图片截取ROI后再进入识别接口 &#xff08;识别接口比ROI接口的函数参数少一个传入的ROI&#xff09; 无点只有点集 返回双点集 //平直冷侧翅片 bool ImageProcessingTest::straightColdSideFin_ROI(cv::Mat img, cv::Rect ROI, std::vector<cv::Point>& topL…...

jenkins打包java项目报错Error: Unable to access jarfile tlm-admin.jar

jenkins打包boot项目 自动重启脚本失败 查看了一下项目日志报错&#xff1a; Error: Unable to access jarfile tlm-admin.jar我检查了一下这个配置&#xff0c;感觉没有问题&#xff0c;包可以正常打&#xff0c; cd 到项目目录下面&#xff0c;手动执行这个sh脚本也是能正常…...

SQL Server设置端口:跨平台指南

在使用SQL Server时&#xff0c;设置或修改其监听的端口是确保数据库服务安全访问和高效管理的重要步骤。由于SQL Server可以部署在多种操作系统上&#xff0c;包括Windows、Linux和Docker容器等&#xff0c;因此设置端口的步骤和方法也会因平台而异。本文将为您提供一个跨平台…...

ActiveMQ-CVE-2023-46604

Apache ActiveMQ OpenWire 协议反序列化命令执行漏洞 OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在Apache ActvieMQ5.18.2版本以及以前&#xff0c;OpenWire协议通信过程中存在一处反序列化漏洞&#xff0c;该漏洞可以允许具有网络访问权限的远程攻击者通过操作…...

TensorBoard ,PIL 和 OpenCV 在深度学习中的应用

重要工具介绍 TensorBoard&#xff1a; 是一个TensorFlow提供的强大工具&#xff0c;用于可视化和理解深度学习模型的训练过程和结果。下面我将介绍TensorBoard的相关知识和使用方法。 TensorBoard 简介 TensorBoard是TensorFlow提供的一个可视化工具&#xff0c;用于&#x…...

【超音速 专利 CN117576413A】基于全连接网络分类模型的AI涂布抓边处理方法及系统

申请号CN202311568976.4公开号&#xff08;公开&#xff09;CN117576413A申请日2023.11.22申请人&#xff08;公开&#xff09;超音速人工智能科技股份有限公司发明人&#xff08;公开&#xff09;张俊峰&#xff08;总&#xff09;; 杨培文&#xff08;总&#xff09;; 沈俊羽…...

iPhone数据恢复篇:iPhone 数据恢复软件有哪些

问题&#xff1a;iPhone 15 最好的免费恢复软件是什么&#xff1f;我一直在寻找一个恢复程序来恢复从iPhone中意外删除的照片&#xff0c;联系人和消息&#xff0c;但是我有很多选择。 谷歌一下&#xff0c;你会发现许多付费或免费的iPhone数据恢复工具&#xff0c;声称它们可…...

Html5+Css3学习笔记

Html5 CSS3 一、概念 1.什么是html5 html: Hyper Text Markup Language ( 超文本标记语言) 文本&#xff1a;记事本 超文本&#xff1a; 文字、图片、音频、视频、动画等等&#xff08;网页&#xff09; html语言经过浏览器的编译显示成超文本 开发者使用5种浏览器&#xf…...

WPF学习(2) -- 样式基础

一、代码 <Window x:Class"学习.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/2008&…...

独家揭秘!五大内网穿透神器,访问你的私有服务

本文精心筛选了五款炙手可热的内网穿透工具&#xff0c;它们各怀绝技&#xff0c;无论您是企业用户、独立开发者&#xff0c;还是技术探索者&#xff0c;这篇文章都物有所值&#xff0c;废话不多说&#xff0c;主角们即将上场。 目录 1. 巴比达 - 安全至上的企业护航者 2. 花…...

Ubuntu 编译和运行ZLMediaKit

摘要 本文描述了如何在Ubuntu上构建ZLMediaKIt项目源码&#xff0c;以及如何体验其WebRTC推流和播放功能。 实验环境 操作系统版本&#xff1a;Ubuntu 22.04.3 LTS gcc版本&#xff1a;11.4.0 g版本&#xff1a;11.4.0 依赖库安装 #让ZLMediaKit媒体服务器具备WebRTC流转发…...

基于JavaSpringBoot+Vue+uniapp微信小程序校园宿舍管理系统设计与实现

基于JavaSpringBootVueuniapp微信小程序实现校园宿舍管理系统设计与实现 目录 第一章 绪论 1.1 研究背景 1.2 研究现状 1.3 研究内容 第二章 相关技术介绍 2.1 Java语言 2.2 HTML网页技术 2.3 MySQL数据库 2.4 Springboot 框架介绍 2.5 VueJS介绍 2.6 ElementUI介绍…...

Hive的基本操作(创建与修改)

必备知识 数据类型 基本类型 类型写法字符char, varchar, string✔整数tinyint, smallint, int✔, bigint✔小数float, double, numeric(m,n), decimal(m,n)✔布尔值boolean✔时间date✔, timestamp✔ 复杂类型(集合类型) 1、数组&#xff1a;array<T> 面向用户提供…...

Linux开发讲课37--- ARM的22个常用概念

1. ARM中一些常见英文缩写解释 MSB&#xff1a;最高有效位&#xff1b; LSB&#xff1a;最低有效位&#xff1b; AHB&#xff1a;先进的高性能总线&#xff1b; VPB&#xff1a;连接片内外设功能的VLSI外设总线&#xff1b; EMC&#xff1a;外部存储器…...

7-1、2、3 IPFS介绍使用及浏览器交互(react+区块链实战)

7-1、2、3 IPFS介绍使用及浏览器交互&#xff08;react区块链实战&#xff09; 7-1 ipfs介绍7-2 IPFS-desktop使用7-3 reactipfs-api浏览器和ipfs交互 7-1 ipfs介绍 IPFS区块链上的文件系统 https://ipfs.io/ 这个网站本身是需要科学上网的 Ipfs是点对点的分布式系统 无限…...

CentOS 7 中出现 cannot open Packages database in /var/lib/rpm 错误

转载自:https://www.jianshu.com/p/423306f43e72 # 进入 rpmdb 所在目录 [roothostbase ~]# cd /var/lib/rpm [roothostbase rpm]# ls Basenames __db.001 __db.003 Group Name Packages Requirename Sigmd5 Conflictname __db.002 Dirnames Ins…...

【java深入学习第6章】深入解析Spring事件监听机制

在Spring框架中&#xff0c;事件监听机制是一个强大且灵活的功能&#xff0c;允许我们在应用程序中发布和监听事件。这种机制可以帮助我们实现松耦合的设计&#xff0c;使得不同模块之间的通信更加灵活和可维护。本文将详细介绍Spring的事件监听机制&#xff0c;并通过代码示例…...

Flask与Celery实现Python调度服务

文章目录 Flask与Celery实现Python调度服务一、前言1.组件2.场景说明3.环境 二、安装依赖1.安装Anaconda3.安装redis2.安装依赖包 三、具体实现1.目录结构2.业务流程3.配置文件4.Celery程序5.Flask程序6.测试脚本7.程序启动1&#xff09;Windows开发调试2&#xff09;Linux服务…...

Eureka应用场景和优势

Eureka是一款由Netflix开源的服务注册与发现框架&#xff0c;在微服务架构中扮演着至关重要的角色。以下是Eureka的应用场景和优势&#xff1a; Eureka的应用场景 Eureka主要应用于微服务架构中&#xff0c;特别是在大型、复杂的分布式系统中&#xff0c;用于管理和发现服务。…...

prompt第三讲-PromptTemplate

文章目录 前提回顾PromptTemplateprompt 模板定义以f-string渲染格式以mustache渲染格式以jinja2渲染格式直接实例化PromptTemplatePromptTemplate核心变量 prompt value生成invokeformat_prompt(不建议使用)format(不建议使用) batchstreamainvoke PromptTemplate核心方法part…...

卷积神经网络图像识别车辆类型

卷积神经网络图像识别车辆类型 1、图像 自行车: 汽车: 摩托车: 2、数据集目录 3、流程 1、获取数据,把图像转成矩阵,并随机划分训练集、测试集 2、把标签转为数值,将标签向量转换为二值矩阵 3、图像数据归一化,0-1之间的值 4、构造卷积神经网络 5、设置图像输入…...

【接口设计】用 Swagger 实现接口文档

用 Swagger 实现接口文档 1.配置 Swagger1.1 添加 Swagger 依赖1.2 创建 Swagger 配置类 2.编写接口文档 在项目开发中&#xff0c;一般都是由前后端工程师共同定义接口&#xff0c;编写接口文档&#xff0c;之后大家根据这个接口文档进行开发、维护。为了便于编写和维护稳定&a…...

TensorFlow系列:第四讲:MobileNetV2实战

一. 加载数据集 编写工具类&#xff0c;实现数据集的加载 import keras""" 加载数据集工具类 """class DatasetLoader:def __init__(self, path_url, image_size(224, 224), batch_size32, class_modecategorical):self.path_url path_urlself…...