supervisor重啟服務失敗

来源:https://www.cnblogs.com/liucx/archive/2020/05/19/12915162.html
-Advertisement-
Play Games

問題:supervisorctl restart 服務名 失敗 案例: [root@node203 ~]# supervisorctl statusetcd-server-97-203 RUNNING pid 7706, uptime 14:29:46kube-apiserver-97-203 FA ...


問題: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

切記不要使用 supervisorctl restart,restart是重啟所有項目服務,可能導致整個集群服務掛了
建議:使用systemd方式啟動


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 本文介紹在Winform桌面應用中,使用IISExpress做Host主機,啟動.Net平臺的Web項目。 瀏覽Web網頁使用CEF開源組件。 準備 首先創建Winform項目WinFormIISExpressHost。 然後把IISExpress文件夾放到項目的Bin\Debug下。 尋找I ...
  • 由於項目需要,最近研究了一下跨進程通訊改寫第三方程式中的方法(運行中),把自己程式中的目標方法直接覆蓋第三方程式中的方法函數;一直沒有頭緒,通過搜索引擎找了一大堆解決方案,資料甚是稀少,最後功夫不負有心人,經過兩天的研究,終於在github 上找到兩個開源的代碼,通過兩個開源代碼結合起來即可實現我的... ...
  • [toc] yum命令 檢查更新 查看系統上已安裝的程式包有哪些可用更新 GeoIP 包的名稱 x86_64 構建包的CPU架構 1.5.0 要安裝的更新包的版本 base 更新的程式包所在的存儲庫 更新程式包 我們可以一次更新一個、多個或所有程式包,更新時此程式包所有依賴的程式包也會進行更新。 更 ...
  • 大家好,我是良許。 我們知道,在 Linux 下寫完一個腳本,通常情況下我們需要到腳本所在的目錄,才可以執行這個腳本。但是大家有沒註意到,像 、 、 這樣的命令,它們的程式是位於 目錄下,但是我們卻可以在系統的任意位置都可以執行這些程式。 它們是怎麼做到的? 那是因為這些命令對應的程式所在路徑被加到 ...
  • 最近看到vmlinux大神介紹了一款網路查看工具,感覺很好用,下麵進行簡要摘錄: iptraf-ng 可以方便查看當前伺服器網路狀況:CentOS 7.0,採用了衍生版本iptraf-ng 。 iptraf-ng -h usage: iptraf-ng [options] or: iptraf-ng ...
  • 1. 目的 簡化SSH登陸過程, 實現從機器A登陸機器B只需要運行 即可, 即不需要輸入用戶名和密碼。 2. 配置host 配置host的作用是ssh登陸機器時用hostname代替IP, 在機器很多的集群環境中hostname比IP容易記的多, 編輯 文件, 配置需要登陸的機器IP和hostnam ...
  • linux下c編程特點 typeof 取變數類型 GNU c對比ANSI c做了很多擴展,例如動態數組 第7章 Linux設備驅動中的併發控制 造成竟態的原因 多核 進程和中斷形成的多路徑(linux2.6以後,禁止了中斷嵌套) 編譯亂序 執行亂序 解決竟態的辦法 中斷屏蔽:只能屏蔽本核的 原子操作 ...
  • 1、重啟tomcat 使用命令:ps: 查詢tomcat進程號 kill:殺死tomcat進程 步驟: 1)ps -ef | grep tomcat 查詢tomcat進程號, 2)kill -9 進程號 強制殺死該進程2 3)ps -ef | grep tomcat 再次查詢進程是否已經被殺死 4) ...
一周排行
    -Advertisement-
    Play Games
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...