Gestionarea erorii autobuzului în serviciul Mongo

Am un serviciu Mongo cu care interacționează mai multe gazde. Gazda pe care rulează serviciul Mongo este destul de specială – are 3 TB de RAM. Cu toate acestea, gazda respectivă aruncă și răspunsuri intermitente de eroare de autobuz. Dacă apare o eroare de autobuz în cadrul procesului de serviciu Mongo, serviciul este oprit și toate procesele de țelină (Python) care interacționează cu resursa sunt deservite Răspunsuri refuzate de conexiune.

Există o modalitate de a permite serviciul Mongo pentru a vă recupera cumva după o eroare de autobuz? Poate ajuta sharding-ul cu această problemă? Există vreo altă soluție potențială la eroarea de autobuz care poate fi făcută la nivelul de configurare a aplicației? Aș fi recunoscător pentru orice sugestii pe care alții le pot oferi cu privire la această întrebare!

Am creat Mongo din sursă pe RedHat, astfel încât să pot folosi orice versiune recentă dacă acest lucru vă ajută. Versiunea instalată în prezent este 3.6.4.

Comentarii

  • Erorile de autobuz provin dintr-un proces care încearcă să adreseze RAM care nu este acolo (nu poate fi adresat). Cred că ar trebui să vă uitați la HW / Compatibilitate SW.
  • @dezso nu este posibilă rezolvarea acestei probleme la nivelul aplicației? Nu pot ' să afectez hardware-ul în acest caz, dar pot configura aplicația mongo …
  • Ei bine, așa cum pare, MongoDB nu poate gestiona (adresa) corect memoria. Acest lucru este greu de rezolvat modificând setările (dar spun asta fără să știu de fapt MongoDB). ' vă sugerez să deschideți o problemă cu dezvoltatorii, s-ar putea să aibă o idee mai bună decât oricine aici.
  • @duhaime, Ați putea actualiza " Autobuz eroare ?. Provine de la nivel de software sau etichetă hardware. Ați verificat prin " smartmontools " în mediul Linux?
  • @MdHaidarAliKhan Cred că această eroare de autobuz provine de la la nivel hardware, dar ' aș dori să prind excepția la nivelul aplicației …

Răspuns

Gestionarea erorii autobuzului în serviciul Mongo

Conform Documentație MongoDB aici De asemenea, ar fi util să rulați smartctl (parte din smartmontools ) pentru a verifica erorile hardware SMART:

sudo smartctl -a /dev/sdb 

Chiar și dvs. puteți rula utilitarul Linux fsck este utilizat pentru a verifica și repara sistemele de fișiere Linux (ext2, ext3, ext4 etc.).

În funcție de când a fost ultima dată un fișier a fost verificat, sistemul rulează fsck în timpul bootului pentru a verifica dacă sistemul de fișiere este în stare consecventă. Administratorul de sistem ar putea să-l ruleze manual atunci când există o problemă cu sistemele de fișiere.

Asigurați-vă că executați fsck pe sistemele de fișiere nemontate pentru a evita orice corupție a datelor. probleme.

Pentru mai multe referințe aici și aici

Răspuns

Eroare autobuz este cel mai frecvent o indicație a unei eroare de program, în acest caz MongoDB în sine sau, rareori, o problemă hardware. Ca atare, primul lucru de încercat ar fi actualizarea la cea mai recentă versiune stabilă. Dacă problema persistă, nu puteți face multe în acest sens, în afară de trimiterea unui raport de erori către Mongo.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *