重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章主要介紹CM Server和Agent服務停止腳本的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
員工經過長期磨合與沉淀,具備了協作精神,得以通過團隊的力量開發出優質的產品。創新互聯建站堅持“專注、創新、易用”的產品理念,因為“專注所以專業、創新互聯網站所以易用所以簡單”。公司專注于為企業提供成都網站建設、成都網站設計、微信公眾號開發、電商網站開發,重慶小程序開發,軟件按需網站策劃等一站式互聯網企業服務。
CDH5中CM和Agent服務停止腳本實現
在CDH5中這兩個服務的啟停方式是在/etc/init.d目錄下提供兩個shell腳本cloudera-scm-agent和cloudera-scm-server,腳本中停止服務的方式是調用了local_killproc函數
local_killproc函數中最終調用的是/etc/init.d/functions腳本中的killproc函數
cloudera-scm-server和cloudera-scm-agent服務的最終停止腳本是通過服務的pid文件找到服務的找到服務的進程ID使用kill命令殺掉進程從而實現停止服務。
3
CDH6中CM和Agent服務停止腳本實現
在C6中啟停cloudera-scm-agent和cloudera-scm-server服務的方式與C5有一定的區別,可以說C5下兩個服務的啟停方式使用的是RedHat6下通過將shell腳本注冊為OS的Service,通過Service命令stop服務,終止是通過kill的方式殺掉集成而停止服務。
而在C6下完全拋棄了Redhat6中通過Service的方式管理服務,而是使用systemctl的方式管理服務。通過Systemctl的方式管理服務,最終服務的啟停會在/usr/lib/system/system目錄下創建cloudera-scm-server和cloudera-scm-agent服務啟停,該文件只是配置文件,不屬于shell腳本
在定義的兩個配置文件中可以看到ExecStart參數指定了服務的啟動腳本,systemd只支持預定義的Action,如:ExecStart, ExecStartPre, ExecStartPost, ExecStop, and ExecReload,在兩個服務的定義腳本中并未指定ExecStop執行腳本(推測systemctl stop操作是調用RedHat7默認的操作),因此cloudera-scm-agent和cloudera-scm-server兩個服務并未提供stop的腳本。
4
總結
1.在CDH5中,cloudera-scm-agent和cloudera-scm-server兩個服務并未提供單獨停止服務的腳本,但啟動腳本中有相應的停止函數,是直接調用的kill進程的函數。
2.在CDH6中,cloudera-scm-agent和cloudera-scm-server兩個服務也未單獨提供停止服務的腳本,啟動腳本中也沒有停止函數。
3.在CDH6中,cloudera-scm-agent和cloudera-scm-server兩個服務如果需要停止建議使用systemctl stop執行進行操作,依靠RedHat默認的機制實現服務的停止動作。
4.對于CDH6,如果需要手動操作腳本停止服務,也可以參照CDH5版本的停止方式,通過kill的方式將進程停止。
以上是“CM Server和Agent服務停止腳本的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!