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

文摘   2024-07-12 17:20   北京  

如何快速启动、停止 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 sshssh_account=root# ssh login portssh_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 集群的不二之选。




Apache IoTDB
一款高吞吐、高压缩、高可用、支持存储、管理与分析的物联网原生开源时序数据库系统软件。
 最新文章