MongoDB故障排查記錄 [rsHealthPoll] couldn't connect to server
一直在用一個五臺機器組成的MongoDB叢集(192.168.40.80 ~ 84),5個shard,分了3個分片。之前一直執行正常,最近一段時間發現服務很不穩定,show db老提示說shard 4 error,並且有時候有機器會因為負載過高而宕機。
今日偶然檢視MongoDB日誌,發現跟shard 4相關的幾臺機器都在報同樣地錯誤:
[rsHealthPoll] couldn't connect to 192.168.40.83:29022: couldn't connect to server 192.168.40.83:29022
而在40.83上檢視shard4的日誌發現也報錯:
[rsHealthPoll] replset info 192.168.40.80:29022 thinks that we are down
這很奇怪,network沒問題為什麼每個分片的服務都正常卻外邊連不上呢?衝其他幾臺機器能ping通,telnet 29022卻不能成功。後來發現原來是83的iptables隨著某次系統維護重啟機器而開啟了,所以預設阻止了對其上MongoDB的服務(其實其他幾個分片都有問題),結果可能是在shard4上的資料被訪問次數過多,而這個分片只有兩個機器在值班,所以一旦另外有一個發生問題,則會造成整個資料集的失效。有機器宕機(非40.83)也應該跟這個有關。
[[email protected] ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
解決方法即是關閉iptables,設定開機不啟動。
service iptables stop
chkconfig --level 2345 iptables off
PS. 以上廢話太多,總結起來就是MongoDB分片的服務可能會被iptables防火牆所阻止,如果在排除了網路和服務的可能性之後,最可能的原因就是檢視防火牆設定。
相關推薦
MongoDB故障排查記錄 [rsHealthPoll] couldn't connect to server
一直在用一個五臺機器組成的MongoDB叢集(192.168.40.80 ~ 84),5個shard,分了3個分片。之前一直執行正常,最近一段時間發現服務很不穩定,show db老提示說shard 4 error,並且有時候有機器會因為負載過高而宕機。 今日偶然檢視Mong
linux -mongodb 啟動問題(Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : )
-bash-4.1# ./mongo MongoDB shell version v3.4.6 connecting to: mongodb://127.0.0.1:27017 2017-09-20T20:02:14.620+0800 W NETWORK
解決連線 mongodb 報錯error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js
a.先看服務啟動沒有,如果沒有啟動服務先啟動服務:net stat MongoDB b.如果服務已經啟動了,那有可能是上次不正常關閉mongo,導致存放資料的檔案被佔用了,被鎖住了。只需將D:
Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js
mongdb啟動的時候會報如上標題的錯誤,查詢了很多資料終於找到解決辦法,現把解決方法記錄下來,以免以後忘記。 [[email protected] bin]# ./mongo 但是出現如下錯誤: [[email protected] bin]# ./
mongodb使用mongo報錯: Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:270
在windows下命令臺輸入mongo報一下錯誤: D:\ProgramFiles\BianCheng\mongodb-win32-x86_64-2008plus-ssl-4.0.4>mongoMongoDB shell version v4.0.4connecting to: mongodb://1
解決couldn't connect to server 172.21.4.208:27 017 at src/mongo/shell/mongo.js:147
錯誤 Go pre article god sdn local service 直接 使用mongo命令訪問數據庫,出現如下所示的錯誤: 直接刪除mongod.lock, rm -f /usr/local/mongodb/data/db/mongod.lock 註:使
Ubuntu14 04上Fig出現Couldn t connect to Docker daemon 問題
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
pycharm遠端除錯:_tkinter.TclError: couldn't connect to display "localhost:10.0"
PyCharm遠端開發配置 背景 遠端伺服器上OS版本為Ubuntu16.04。準備用Win10進行遠端開發,按照上述教程配置完PyCharm後,可以正常呼叫遠端python直譯器,但是當我程式產生視窗或者圖片時,發現本地機器無法顯示加載出來視窗或者圖片。於是
解決 ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket
ubuntu16.04 安裝完docker後在docker-compose.yml檔案所在目錄執行: [email protected]:/tmp/docker$ docker-compose up -d 報錯: ERROR: C
ubuntu14.04 docker上fig問題Couldn't connect to Docker daemon at http+unix://var/run/docker.sock
最近專案用到docker,在本地跑docker-compose命令沒問題 在CI上呼叫此命令遇到問題: test: [exec] Couldn’t connect to Docker daemon at http+unix://var/run/d
curl HTTPS 報錯curl: (7) couldn't connect to host
使用curl 命令,無法訪問HTTPS,訪問Http是正常的 ,使用curl -V查詢版本以及支援的協議 測試將訪問防火牆給關閉了 ,正常訪問 ,看來還是問題還是出現在防火牆。檢視防火牆的配置:新增:-A INPUT -p tcp --sport 443 -j ACCEP
Ubuntu14.04上Fig出現Couldn’t connect to Docker daemon …問題
在Ubuntu14.04上正確安裝的Docker和Fig後,Docker可以正常使用,但是在使用Fig的時候出現下面的錯誤Couldn't connect to Docker daemon at htt
Jenkins配置ssh時總是提示Can't connect to server
jenkins ssh can't connect to serverJenkins配置ssh時總是提示Can‘t connect to server我在本地windows系統中啟動了一個Jenkins服務,進行配置ssh,鏈接到同一網段的服務器上Linux上。總是連不上,Windows的防火墻和殺毒
Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
ould bsp class timeout nbsp 端口 mail out blog 運行出現以下報錯: Couldn‘t connect to host, port: smtp.163.com, 25; timeout -1; 也要設置端口 spring.
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
解決方法: 1.進入啟動檔案目錄 2.將使用者加入到docker 組 sudo gpasswd -a ${USER} docker 3.使用root使用者 sudo su 4. 切換當前使用者 su ${US
啟動docker-compose報錯:Couldn't connect to Docker daemon at http+docker://localhost - is it running?
這個問題出現呢,是因為使用者許可權問題。解決方法有2個: 切換為root使用者執行命令。sudo docker-compose up -d 將當前使用者加入到docker組。 sudo gpasswd -a ${USER} docker 然後切換成root使用者,再切換
om.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 465; timeout -1;
晚上用java mail實現郵件的傳送功能出現了以下錯誤 com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 465; timeout -1; nest
記一次MongoDB故障排查的過程
資料技術嘉年華等你來預告:11.16-17日,北京市東三環中路61號富力萬麗酒店,相聚資料技術嘉
centos下mysql問題記錄--ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/
一、關於雲主機的mysql最近一次雲主機的伺服器由於被攻擊便打算重灌一邊mysql,徹底刪除相關檔案後重新安裝,沒想到怎麼裝都會出問題。再啟動的時候總是出現ERROR 2002 (HY000): Can’t connect to local MySQL server thro
ES集群故障排查記錄
get tsp 報錯 天線 慢查詢 unable 應該 記錄 放棄 這兩天線上的ES集群總是有問題,開始查找原因發現這段時間各個機器的負載都很高,本來希望通過jstack找到一些信息,但居然提示‘Unable to open socket file: target proc