正式的網(wǎng)站項(xiàng)目透揣,使用了kafka和 zookeeper距贷,原來是通過命令行啟動(dòng)的,存在的風(fēng)險(xiǎn)就是其他人上服務(wù)器可能隨時(shí)或者不小心給你把命令行cmd給關(guān)閉掉饿敲,這樣kafka和zookeeper就掛掉了冈爹,那么怎樣將kafka安裝為windows服務(wù)呢涌攻?同樣也將zookeeper安裝為windows服務(wù)。
kafka安裝為windows服務(wù)
通常啟動(dòng)kafka只需要執(zhí)行命令:
kafka-server-start.bat E:\Tool\kafka_2.12-2.2.0\config\server.properties
怎樣將kafka安裝為windows服務(wù)频伤,zookeeper也一樣 8
啟動(dòng)成功后會(huì)看到如下圖那樣的提示:
上面是常見的在windows服務(wù)器上使用命令行方式來啟動(dòng)kafka恳谎,缺點(diǎn)上面已經(jīng)提到了,那接下來看看怎樣將它安裝為服務(wù)憋肖。
先來看看將kafka安裝為服務(wù)之后的效果惠爽。
怎樣將kafka安裝為windows服務(wù),zookeeper也一樣 9
同樣的瞬哼,zookeeper安裝為windows服務(wù)后婚肆,也可以在服務(wù)列表里面看到。
怎樣將kafka安裝為windows服務(wù)坐慰,zookeeper也一樣 10
上面的服務(wù)名稱kafka和zookeeper是可以隨便取的较性。你高興叫啥都成,例如叫:jhrs.com也是可以的结胀。
如果你也打算將kafka和zookeeper安裝為windows服務(wù)赞咙,下面就是本文要介紹的步驟了,并且引入一個(gè)小軟件糟港,叫nssm攀操。
NSSM簡(jiǎn)介
NSSM是一個(gè)服務(wù)封裝程序,它可以將普通exe秸抚、bat速和、以及任何程序封裝成服務(wù)歹垫,使之像windows服務(wù)一樣運(yùn)行,就像一個(gè)服務(wù)殼一樣颠放,將你的程序包在NSSM里面排惨。
官網(wǎng)解釋如下:
NSSM – the Non-Sucking Service Manager
nssmis a service helper which doesn’t suck.srvanyand other service helper programs suck because they don’t handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died.nssmmonitors the running service and will restart it if it dies. Withnssmyou know that if a service says it’s running, it really is. Alternatively, if your application is well-behaved you can configurenssmto absolve all responsibility for restarting it and let Windows take care of recovery actions.
nssmlogs its progress to the system Event Log so you can get some idea of why an application isn’t behaving as it should.
nssmalso features a graphical service installation and removal facility. Prior to version 2.19 it did suck. Now it’s quite a bit better.
如何使用
下載NSSMdownload.
根據(jù)自己的平臺(tái),將32/64位nssm.exe文件解壓至任意文件夾碰凶。
cmd定位至nssm.exe所在目錄暮芭。
輸入nssm install {服務(wù)名稱},即注冊(cè)服務(wù)的名稱欲低。注冊(cè)服務(wù)彈出如下NSSM界面辕宏。
kafka安裝成win服務(wù)
按照上面的步驟操作就可以了,核心就是下面的截圖砾莱,也可以添加依賴服務(wù)瑞筐。
Path:E:\Tool\kafka_2.12-2.2.0\bin\windows\kafka-server-start.bat?
Startup directory:E:\Tool\kafka_2.12-2.2.0\bin\windows
Arguments:E:\Tool\kafka_2.12-2.2.0\config\server.properties
怎樣將kafka安裝為windows服務(wù),zookeeper也一樣 11
Path參數(shù)為kafka的啟動(dòng)命令恤磷,一般在windows目錄。Startup directory為啟動(dòng)目錄野宜,Arguments是啟動(dòng)參數(shù)扫步,只有啟動(dòng)參數(shù)需要手工填一下,當(dāng)你在Path點(diǎn)右邊按鈕選擇后會(huì)自動(dòng)的填上前面2個(gè)參數(shù)匈子。自己操作體驗(yàn)下就明白了河胎。
完了之后點(diǎn)擊Install Service就可以了。
如果有依賴服務(wù)虎敦,按下圖所示填上即可游岳。
zookeeper安裝為windows服務(wù)
zookeeper也是可以安裝為windows服務(wù)的,操作如下圖所示:
沒有參數(shù)就不用填其徙。
如果嫌界面操作比較麻煩胚迫,可以制作成批處理文件一次性安裝完畢。
BAT一鍵安裝為Windows服務(wù)
@echo off
@echo? 安裝zookeeper
nssm install zookeeper E:\Tool\zookeeper-3.4.10\bin\zkServer.cmd
@echo? 安裝kafka
nssm install kafka E:\Tool\kafka_2.12-2.2.0\bin\windows\kafka-server-start.bat E:\Tool\kafka_2.12-2.2.0\config\server.properties
@echo 啟動(dòng)zookeeper服務(wù)
nssm start zookeeper
@echo 啟動(dòng)kafka服務(wù)
nssm start kafka
pause
上面的命令是通過批處理文件一鍵安裝為windows服務(wù)唾那,并且啟動(dòng)zookeeper和kafka服務(wù)访锻。你可以直接拿過去使用,注意需要修改下參數(shù)闹获,例如將E:\Tool\zookeeper-3.4.10\bin\zkServer.cmd修改為你服務(wù)器上的zookeeper目錄期犬,而E:\Tool\kafka_2.12-2.2.0\bin\windows\kafka-server-start.bat E:\Tool\kafka_2.12-2.2.0\config\server.properties也是對(duì)應(yīng)的修改為kafka的路徑。
如果要卸載的話避诽,使用下面的bat即可龟虎。
@echo off
@echo? 卸載zookeeper
nssm remove zookeeper confirm
@echo? 卸載kafka
nssm remove kafka confirm
pause
將以上代碼復(fù)制下來,用記事本新建一個(gè)文件沙庐,粘貼進(jìn)去鲤妥,并將后綴改為bat即可佳吞,使用時(shí)雙擊運(yùn)行就完事了。
nssm常用命令
nssm install servername //創(chuàng)建servername服務(wù)
nssm start servername //啟動(dòng)服務(wù)
nssm stop servername //暫停服務(wù)
nssm restart servername //重新啟動(dòng)服務(wù)
nssm remove servername //刪除創(chuàng)建的servername服務(wù)
總結(jié)
NSSM可以將控制臺(tái)程序一樣的安裝為服務(wù)旭斥,再配合定時(shí)任務(wù)容达,可以做好多事情。