IoTDB 集群高效管理小帮手:开机自启

文摘   2024-07-26 17:20   美国  

通过 Linux 系统服务,实现 IoTDB 更高效的启动方式!


IoTDB 是一个专为工业物联网领域设计的高性能时间序列数据库。在生产环境中,确保 IoTDB 集群的稳定运行至关重要。本文将介绍如何通过 Linux 系统服务来管理 IoTDB 集群,实现高效的启动、监控和自动重启


01

基本配置


(1)背景


传统的 IoTDB 启动方式存在一些局限性,如后台启动需要额外参数,且不支持自动重试、开机启动等功能。为了解决这些问题,IoTDB在新版本(V1.3.1)中引入了 daemon-confignode.sh 和 daemon-datanode.sh 脚本来注册 IoTDB 为系统服务


(2)环境需求


  • Linux 系统

  • 存在 systemctl 命令

  • 已设置 JAVA_HOME

  • 操作用户为 root 或拥有对应权限


(3)新增脚本介绍


  • sbin/daemon-confignode.sh:注册 IoTDB ConfigNode 为系统服务。


  • sbin/daemon-datanode.sh:注册 IoTDB DataNode 为系统服务。


执行脚本后,IoTDB 的 ConfigNode 和 DataNode 将注册为系统服务。服务文件将生成在 /etc/systemd/system 目录下。我们可以使用 systemctl 命令来管理服务。


02

使用方式


(1)手动启动服务


systemctl start iotdb-confignodesystemctl start iotdb-datanode


(2)配置开机自启动


systemctl enable iotdb-confignodesystemctl enable iotdb-datanode


(3取消开机自启动


systemctl disable iotdb-confignodesystemctl disable iotdb-datanode


(4)停止服务


systemctl stop iotdb-confignodesystemctl stop iotdb-datanode


停止服务后,状态应为 inactive (dead),否则需要查看日志分析原因。


注意:


使用 systemctl start iotdb-confignode、systemctl start iotdb-datanode 启动 IoTDB 后,可以用 sbin/stop-confignode.sh、sbin/stop-confignode.sh 的脚本去停止 IoTDB,此时不会自动重启对应节点。


使用sbin/start-confignode.sh、sbin/start-datanode.sh 启动 IoTDB 后,无法使用 systemctl 观测到进程状态(建议使用 systemctl 来进行启动和停止)。


(5)查看状态


systemctl status iotdb-confignodesystemctl status iotdb-datanode


(6)重启服务


systemctl restart iotdb-confignodesystemctl restart iotdb-datanode


03

服务特性及注意事项


(1)服务特性


服务将具备以下特性:


  • 启动失败时自动重启。


  • 异常退出时自动重启(如 Java 进程 OOM 或 JVM 崩溃)。


  • 正常退出不会自动重启(如使用 kill 命令或 systemctl stop)。


(2)注意事项


  • IoTDB 日志位于 IoTDB 所在目录的 logs 目录下。


  • 启动后可以使用 start-cli.sh 执行 show cluster 查看集群状态。


  • 状态为 active (running) 时, 不代表服务完全启动,如果 10 分钟之后状态仍是 active (running) 则代码服务一定成功启动。


  • 如果状态为 failed,需要查看日志并解决问题后,执行 systemctl daemon-reload 后再通过 systemctl 启动服务。


04

如何调整默认服务配置


(1方式一


  • 修改 daemon-confignode.sh、daemon-datanode.sh 中的 [Unit]、[Service]、[Install] 区域配置项,具体配置项的含义参考附录


  • 执行 daemon-confignode.sh、daemon-datanode.sh 脚本

(2方式二


  • 修改 /etc/systemd/system 中的 iotdb-confignode.service、iotdb-datanode.service 文件


  • 执行 systemctl deamon-reload


05

总结


本文详细介绍了如何通过 Linux 系统服务来高效管理 IoTDB 集群,重点在于实现自动启动、监控和重启。为了克服传统启动方式的局限性,IoTDB 在新版本(V1.3.1)中引入了 daemon-confignode.sh 和 daemon-datanode.sh 脚本,使得 IoTDB 可以注册为系统服务。


通过本文介绍的方法,可以显著提高 IoTDB 集群在生产环境中的管理效率,确保其稳定运行,实现高效的启动、监控和自动重启。欢迎大家使用!





规上企业应用实例






能源电力:中核武汉国网信通产业集团华润电力大唐先一上海电气国轩清安储能太极股份绍兴安瑞思


航天航空:中航机载共性北邮一号卫星


钢铁冶炼:宝武钢铁中冶赛迪


交通运输:中车四方长安汽车城建智控德国铁路


智慧工厂与物联:PCB 龙头企业博世力士乐德国宝马京东昆仑数据怡养科技



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