实现高效运行管理:如何使用 NSSM 工具将 IoTDB 注册为 Windows 系统服务

351098f1519a38315ec9b9929b8b4eb5.jpeg

后台自动无干扰运行 IoTDB 的“指导手册”!

IoTDB 是一个专为工业物联网领域设计的高性能时间序列数据库。在生产环境中,确保 IoTDB 的稳定运行对于业务连续性至关重要。通常情况下,通过批处理(bat)脚本运行 IoTDB 会始终在前台显示命令行窗口,这不利于服务的统一管理和自动化运行。

本文将介绍如何利用 NSSM(Non-Sucking Service Manager)工具,将 IoTDB 注册为 Windows 系统服务,实现在后台无干扰的高效运行和统一的服务管理,从而提升系统稳定性和维护效率

01 什么是 NSSM 工具

NSSM(Non-Sucking Service Manager)是一个开源的 Windows 服务管理工具,用于在 Windows 系统上运行任何可执行程序作为服务。它的主要特点包括:

1. 简单易用:NSSM 提供了一个简单的命令行界面,可以轻松地将应用程序安装为 Windows 服务。

2. Non-Sucking:NSSM 的设计理念是避免传统服务管理器中常见的“Sucking”问题,确保服务在崩溃后能够自动重启。

3. 日志记录:NSSM 可以将服务的标准输出和错误输出重定向到日志文件,方便用户进行调试和监控。

4. 支持多种应用:它能够支持任何类型的可执行文件,适用于各种应用场景。

NSSM 是一个非常实用的工具,尤其适合需要在后台持续运行的应用程序,如 web 服务器、数据库服务等。

02 如何使用 NSSM 工具将 IoTDB 注册为 Windows 系统服务

(1)前置条件

  • Windows 操作系统,且能运行 NSSM(Windows 2000 or later. Specifically, Windows 7, Windows 8 , Windows 10 and newer)。

  • 下载 NSSM,配置 NSSM 的程序包目录至环境变量(推荐配置,否则需要进入对应目录执行命令):

    • 官网下载链接:https://nssm.cc/download

88c7e2334549fcc571341f5603ac2faf.png

  • 已安装好对应的 JDK 并设置好环境变量(JAVA_HOME)。

  • 已经成功启动过 ConfigNode 和 DataNode,并且注册服务前退出它们。

    • 提前启动,确保无其他问题导致服务无法启动,避免增加排查难度。

    • 注册好服务后会用 NSSM 来启动,会出现冲突,因此建议注册前退出 ConfigNode 和 DataNode。

(2)注册 IoTDB-ConfigNode 服务

首先进入 NSSM 的目录,如果已经配置环境变量,则不需要进入。

1. 打开命令提示符(管理员),如果未配置环境变量,需要在 NSSM 的目录打开:

5dc59259bab7a59d2e2fa7e690d44df9.png

2. 运行命令,进入安装界面:

nssm install IoTDB-ConfigNode
# 如果为配置环境变量则运行时可能需要加.
.\nssm install IoTDB-ConfigNode

ec28884e31013e108c5586c5ec13bed2.png

3. Path 选择 IoTDB 根目录 \sbin\start-confignode.bat,Startup directory 选择为 IoTDB 根目录:

f42ae20e08fc95ab30adf6f8fc35912b.png

4. 如果需要排查对应的输出内容,可以设置 I/O 页签下的 Output,将其设置为一个文件,对应的输出内容会输出到指定文件中:

8050ade8a0508217d912548b48ff5aa5.png

5. 设置好后点击 Install service,提示成功后服务即注册成功:

4b4a2705c8ecad9f6a6f52629516aee5.png

在服务中也可以看到刚才注册的服务:

6bc944621b9d077f584c159009144eb1.png

6. 运行 nssm start IoTDB-ConfigNode 即可启动服务,或在服务中右键点击运行:

64c47456e9787e323b53ef53b602aa86.png

2b1c35eb49b98bf5fa2f09996624c8d8.png

(3)注册 IoTDB-DataNode 服务

首先进入 NSSM 的目录,如果已经配置环境变量,则不需要进入。

1. 打开命令提示符(管理员),如果未配置环境变量,需要在 NSSM 的目录打开:

d317f01a95b63eb2bfca45ea4fd1348b.png

2. 运行命令,进入安装界面:

nssm install IoTDB-DataNode
# 如果为配置环境变量则运行时可能需要加.
.\nssm install IoTDB-DataNode

c0c65b88f8d40542e7276974a073d97e.png

3. Path 选择 IoTDB 根目录 \sbin\start-datanode.bat,Startup directory 选择为 IoTDB 根目录:

5c88fd6a3c41417443017c4d18f5ece0.png

4. 如果需要排查对应的输出内容,可以设置 I/O 页签下的 Output,将其设置为一个文件,对应的输出内容会输出到指定文件中:

037dc37c31d0c24bc53db68ff8a0eea4.png

5. 设置好后点击 Install service,提示成功后服务即注册成功:

acc6fbd6abfa248e4859b77cb5a08a5f.png

在服务中也可以看到刚才注册的服务:

7063f149ee603679a60d40ba64f4f798.png

6. 运行 nssm start IoTDB-DataNode 即可启动服务,或在服务中右键点击运行:

a2b0a8162231313315476b47d6a66913.png

83aab0f85cce842195bdcddddc603638.png

(4)注意事项

  • 注册好服务后不能移动或删除 nssm.exe,如果需要更改路径,需先删除相关服务后重新注册。

    • nssm remove,运行此命令会弹窗提示确认删除。

    • nssm removeconfirm,运行此命令将会直接删除服务。

  • nssm 可以正确处理带有空格的路径。如果应用程序的路径包含空格,则需要将其用引号括起来,否则命令提示符会将路径解释为两个参数。

nssm install <servicename> "C:\Program Files\app.exe"

如果您希望提供的选项之一包含空格,则需要也引用它并引用引号本身。

nssm install <servicename> <application> """This is one argument"""

03 参考:NSSM 命令介绍

安装服务

nssm install <servicename>
nssm install <servicename> <program>
nssm install <servicename> <program> [<arguments>]

删除服务

nssm remove
nssm remove <servicename>
nssm remove <servicename> confirm

启动服务

nssm start <servicename>

停止服务

nssm stop <servicename>

重启服务

nssm restart <servicename>

查询状态

nssm status <servicename>

设置参数

nssm set <servicename> <parameter> <value>
nssm set <servicename> <parameter> <subparameter> <value>

查询参数

nssm get <servicename> <parameter>
nssm get <servicename> <parameter> <subparameter>

重置参数

nssm reset <servicename> <parameter>
nssm reset <servicename> <parameter> <subparameter>

规上企业应用实例

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

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

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

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

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

2011274eb6982de7c0fbd0be091ed753.gif

78dc683888a89282732a551cd9b9b085.jpeg

e2cb2e160f48be40fc99fdac0e3a18af.jpeg

1ce2fa862d15d22889ac7a44ef1c88ff.jpeg

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apache IoTDB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值