当前位置: 首页 > 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> 面向用户提供…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...