系統城裝機大師 - 唯一官網:www.jasafloorhardener.com!

    當前位置:首頁 > 系統教程 > Linux教程 > 詳細頁面

    supervisor重啟服務失敗

    時間:2020-05-21來源:電腦系統城作者:電腦系統城

    問題:supervisorctl restart 服務名 失敗

    案例:

    [root@node203 ~]# supervisorctl status
    etcd-server-97-203 RUNNING pid 7706, uptime 14:29:46
    kube-apiserver-97-203 FATAL Exited too quickly (process log may have details)

    查看supervisor日志:
    tail -f /var/log/supervisor/supervisord.log
    entered FATAL state, too many start retries too quickly
    說明:從報錯信息看出,是該服務重啟次數太多,因為在配置中有參數:
    startretries = 5
    這個參數是在服務重啟失敗后,嘗試重啟的次數,所以supervisor一直在重啟,然后一直失敗,達到最大次數就報以上的錯誤

    查看kube-apiserver服務日志:
    error: failed to create listener: failed to listen on 127.0.0.1:8080: listen tcp 127.0.0.1:8080: bind: address already in use

    提示監聽端口已存在,這時候我們執行以下操作:
    netstat -tnlp
    ps -ef|grep api-server

    果然,該進程并沒有完全停止,可以臨時采用kill 進程號停止,然后再supervisorctl start 服務名,成功

    或者

    為了避免在重啟的時候出現端口存在(默認supervisord不會stop子進程),需要在/etc/supervisord.d/*.ini   該服務的.ini配置文件中添加以下兩項:
    stopasgroup=true
    #這個東西主要用于,supervisord管理的子進程,這個子進程本身還有,子進程。那么我們如果僅僅干掉supervisord的子進程的話,子進程的子進程,有可能會變成孤兒進程。所以咱們可以設置可個選項,把整個該子進程的,整個進程組都干掉。 設置為true的話,一般killasgroup也會被設置為true。需要注意的是,該選項發送的是stop信號,默認為false。。非必須設置。
    killasgroup=true

    改好后,記得supervisorctl update

    分享到:

    相關信息

    系統教程欄目

    欄目熱門教程

    人氣教程排行

    站長推薦

    熱門系統下載

    久久大香久久久尹人尹人