Debian 6 üzerinde m...
 
Bildirimler
Hepsini Temizle

[Çözüldü] Debian 6 üzerinde mongodb service olarak çalışmıyor  

  RSS
kazimates
(@kazimates)
Üye

Debian 6.0 üzerinde kurulan apache, mysql ve mongodb mevcut. Apache ve mysql debian açılırken çalışmasına rağmen mongodb servise olarak çalışmıyor. 

#mongodb --repair

#mongod --dbpath=/var/lib/mongodb

komutları sonrasında mongodb çalışmaya başlıyor ve komut satırı mongodb servis işlemleriyle doluyor. Yani komutu iptal etmeden komut satırı gelmiyor. İptal edilmeden başka bilgisayarlardan web servis çalışıyor ve mongodb verilerine erişim bulunuyor. Ama mongod komutu iptal edildiğinde ise servis durduğundan site yine mongodb verilerine erişilemez duruma gelmekte. Bu durumda nasıl yapabilir ve mıngıdb yi yukarıda ki komutlarla debian açılışında otomatik servis olarak çalışmasını sağlayabilirim. 

NOT: yukarıda ki iki komut olmadan

#service mongodb start 

komutunda mongodb service fail hatası alınıyor.

Alıntı
Gönderildi : 23/06/2020 13:06
Serkan Ateş
(@SerkanAtes)
Üye
Gönderen: @kazimates

#service mongodb start 

komutunda mongodb service fail hatası alınıyor.

Log dosyalarında mutlaka detay vardır. Bizimle de paylaşabilir misiniz ?

CevapAlıntı
Gönderildi : 24/06/2020 07:43
Turan COŞKUN
(@turancoskun)
Tecrübeli Üye Forum Yöneticisi

Merhaba,

Debian6 olduğuna göre mongo versiyonu 2.4 - 2.6 diye düşünüyorum.

Burada birden fazla adımı kontrol etmeniz ve paylaşmanız gerekir.

- Mongo versiyon kontrolü : "mongo --version"

- Mongo log çıktısı  : "tail -f -n50 /var/log/mongodb/mongodb.log"

- Dosya / Klasör sahipliği : "ls -ll /var/lib/mongodb/"

Config içerisinde belirtilen db path'i mutlaka kontrol edin. Yol farklı ise komut içerisinde paylaştığım yolu değiştirerek çıktıyı paylaşın.

Paylaştığınız çıktılara göre sizi yönlendirebiliriz.

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 01/07/2020 02:25
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Sonuç?

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 04/07/2020 14:54
kazimates
(@kazimates)
Üye

evet sonuç değilde sadece gelişme var diyebilirim. En azından artık debian 6 üzerinde manual komutlar ve yetkilendirmeler yapılmak suretiyle web service düzgün çalışıp ekrana bir takım bilgileri getirmeye ve yazma mysql+mongodb den veri yazma okuma güncelllem ve silmeye başladı. 

malum işletim sistemi Debian 6 demiştim.
bnlara ek olarak ise

root@midas:~# mongo --version
MongoDB shell version: 2.2.2
root@midas:~# mongo
MongoDB shell version: 2.2.2
connecting to: test
Sat Jul 4 19:16:34 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
root@midas:~# sudo service mongodb restart
Restarting database: mongodb failed!
root@midas:~#

 

hatası almakla birlikte öncelikle 

root@midas:~# mongod --repair
Sat Jul 4 19:21:33 [initandlisten] MongoDB starting : pid=1885 port=27017 dbpath=/data/db/ 64-bit host=midas
Sat Jul 4 19:21:33 [initandlisten] db version v2.2.2, pdfile version 4.5
Sat Jul 4 19:21:33 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Sat Jul 4 19:21:33 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Sat Jul 4 19:21:33 [initandlisten] options: { repair: true }
Sat Jul 4 19:21:33 [initandlisten] exception in initAndListen: 10296
*********************************************************************
ERROR: dbpath (/data/db/) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
Sat Jul 4 19:21:33 dbexit:
Sat Jul 4 19:21:33 [initandlisten] shutdown: going to close listening sockets...
Sat Jul 4 19:21:33 [initandlisten] shutdown: going to flush diaglog...
Sat Jul 4 19:21:33 [initandlisten] shutdown: going to close sockets...
Sat Jul 4 19:21:33 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jul 4 19:21:33 [initandlisten] shutdown: closing all files...
Sat Jul 4 19:21:33 [initandlisten] closeAllFiles() finished
Sat Jul 4 19:21:33 dbexit: really exiting now
root@midas:~#

 

sonrasında ise 

 

root@midas:~# mongod --dbpath=/var/lib/mongodb

komutlarıyla mongodb çalışıyor ve web servisimiz düzgün iş görür hale gelebiliyor. fakat ya sırasıyla

mongod --repair 
mongod --dbpath=/var/lib/mongodb

komutlarını açılışta çalıştırmam gerek yada bir şekilde buna alternatif bir çözüm bulmaya devam etmem gerekecek.

Yukarıda ki sorularınız cevabına ilişkin olarak ise /etc/mongodb.conf içi kısaca 

dbpath=/mnt/storage/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

 

***** SERVER RESTARTED *****

Sat Jul 4 19:28:56 [initandlisten] MongoDB starting : pid=1051 port=27017 dbpath=/mnt/storage/mongodb 64-bit host=midas
Sat Jul 4 19:28:56 [initandlisten] db version v2.2.2, pdfile version 4.5
Sat Jul 4 19:28:56 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Sat Jul 4 19:28:56 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Sat Jul 4 19:28:56 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/mnt/storage/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", nojournal: "true", port: 27017, rest: "true" }
Sat Jul 4 19:28:56 [initandlisten] exception in initAndListen: 10296
*********************************************************************
ERROR: dbpath (/mnt/storage/mongodb) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
Sat Jul 4 19:28:56 dbexit:
Sat Jul 4 19:28:56 [initandlisten] shutdown: going to close listening sockets...
Sat Jul 4 19:28:56 [initandlisten] shutdown: going to flush diaglog...
Sat Jul 4 19:28:56 [initandlisten] shutdown: going to close sockets...
Sat Jul 4 19:28:56 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jul 4 19:28:56 [initandlisten] shutdown: closing all files...
Sat Jul 4 19:28:56 [initandlisten] closeAllFiles() finished
Sat Jul 4 19:28:56 dbexit: really exiting now

 

root@midas:~# ls -ll /var/lib/mongodb/
total 8
drwxr-xr-x 7 root root 4096 Jul 3 18:34 20200703
drwxr-xr-x 2 root root 4096 Jul 3 19:07 journal
-rwxr-xr-x 1 root root 0 Jul 3 19:07 mongod.lock
root@midas:~#

CevapAlıntı
Gönderildi : 04/07/2020 19:20
Turan COŞKUN
(@turancoskun)
Tecrübeli Üye Forum Yöneticisi
Gönderen: @kazimates

root@midas:~# mongod --dbpath=/var/lib/mongodb

komutlarıyla mongodb çalışıyor ve web servisimiz düzgün iş görür hale gelebiliyor.

Yukarıda ki sorularınız cevabına ilişkin olarak ise /etc/mongodb.conf içi kısaca 

dbpath=/mnt/storage/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

ERROR: dbpath (/mnt/storage/mongodb) does not exist.

Tekrar merhaba,

Aslında paylaşımlaşımınzdan anlaşılan, sorunun "dbpath" tanımının hatalı olmasından kaynaklanması.

"dbpath" tanımını "/var/lib/mongodb" olarak düzenleyip, servisi tekrar aktif etmeyi deneyin.

Bu arada daha önce "/mnt/storage/mongodb" yolunun asıl kullanılan alan olup olmadığını mutlaka kontrol edin.

Daha önce farklı kuruluşlarda bu yüzden veri kayıpları yaşandığını gördüm, dikkate almanızı öneririm.

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 06/07/2020 16:44
kazimates
(@kazimates)
Üye

aslında burada şöyle bir durum var ki tam olarak algılayamıyor veya çözemiyorum.

benim normalde mongodb verilerimin tutulduğu alan olarak #/var/lib/mongodb  klasörlerini görmekteyim ve manual olarak mongodb çalıştırdığımda bu alana kaydedildiğinide görebilmekteyim. Buna ek olarak ise /etc/mongodb.conf dosyasında ise 

dbpath=/var/lib/mongodb

 

buna rağmen neden açılışta servis çalışamıyor ve bu klasörler var olmakla ve içinde güncel veri olmakla birlikte ısrarla bana dbpath=/dbpath/db/ klasörlerini bulmaya çalışıyor? başka bir yerde bir config dosyası veya debian start esnasında bunları otomatik olarak set edip çalıştıran ve kontrol etmemm gereken bir yer mi var?

 

CevapAlıntı
Gönderildi : 07/07/2020 14:44
Turan COŞKUN
(@turancoskun)
Tecrübeli Üye Forum Yöneticisi

Paylaştığınız çıktılar içerisinde restart loglarına bakarsanız, dbpath için farklı bir yol mevcut. bkz. /mnt/storage/mongodb

Servis script'i içerisinde referans aldığı config dosyasının yolunu görüntüleyebilirsiniz.

"cat /etc/init.d/mongodb | grep CONF="

Devamında config tarafını düzenleyerek, aşağıdaki komutu uygulayın ve servisi yeniden başlatın.

"mongod --config /etc/mongodb.conf"

Yine hata alırsanız, dosya sahipliklerini ve log çıktısını paylaşın, bakalım.

"tail -f -n50 /var/log/mongodb/mongodb.log"

 

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 08/07/2020 00:34
kazimates
(@kazimates)
Üye

@turancoskun hocam sonunda mount işlemleri vs oldu gibi gözükmekle birlikte mongodb start olamıyor. logda ki son kaydı size aşağıda yazmaktayım. dbpath için /storage/mongodd yi işaret etmekle birlikte aynı zamanda bu path /var/lib/mongodb ye de link edilmiş durumda.

***** SERVER RESTARTED *****

Sat Jul 11 19:24:35 [initandlisten] MongoDB starting : pid=1642 port=27017 dbpath=/var/lib/mongodb 64-bit host=midas
Sat Jul 11 19:24:35 [initandlisten] db version v2.2.2, pdfile version 4.5
Sat Jul 11 19:24:35 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Sat Jul 11 19:24:35 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Sat Jul 11 19:24:35 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Sat Jul 11 19:24:35 [initandlisten] Assertion: 13651:Couldn't fsync directory '/var/lib/mongodb': errno:22 Invalid argument
0xaffd31 0xac5eb9 0xac603c 0x73c5ee 0x7ab0bd 0x55cfc9 0x55dc7d 0x56475e 0x565d39 0x7f25a44bac8d 0x558149
/usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xaffd31]
/usr/bin/mongod(_ZN5mongo11msgassertedEiPKc+0x99) [0xac5eb9]
/usr/bin/mongod() [0xac603c]
/usr/bin/mongod(_ZN5mongo16flushMyDirectoryERKN5boost11filesystem210basic_pathISsNS1_11path_traitsEEE+0x2ae) [0x73c5ee]
/usr/bin/mongod(_ZN5mongo15acquirePathLockEb+0x1dd) [0x7ab0bd]
/usr/bin/mongod(_ZN5mongo14_initAndListenEi+0x3b9) [0x55cfc9]
/usr/bin/mongod(_ZN5mongo13initAndListenEi+0x1d) [0x55dc7d]
/usr/bin/mongod() [0x56475e]
/usr/bin/mongod(main+0x9) [0x565d39]
/lib/libc.so.6(__libc_start_main+0xfd) [0x7f25a44bac8d]
/usr/bin/mongod(__gxx_personality_v0+0x471) [0x558149]
Sat Jul 11 19:24:35 [initandlisten] exception in initAndListen: 13651 Couldn't fsync directory '/var/lib/mongodb': errno:22 Invalid argument, terminating
Sat Jul 11 19:24:35 dbexit:
Sat Jul 11 19:24:35 [initandlisten] shutdown: going to close listening sockets...
Sat Jul 11 19:24:35 [initandlisten] shutdown: going to flush diaglog...
Sat Jul 11 19:24:35 [initandlisten] shutdown: going to close sockets...
Sat Jul 11 19:24:35 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jul 11 19:24:35 [initandlisten] shutdown: lock for final commit...
Sat Jul 11 19:24:35 [initandlisten] shutdown: final commit...
Sat Jul 11 19:24:35 [initandlisten] shutdown: closing all files...
Sat Jul 11 19:24:35 [initandlisten] closeAllFiles() finished
Sat Jul 11 19:24:35 [initandlisten] shutdown: removing fs lock...
Sat Jul 11 19:24:35 dbexit: really exiting now

CevapAlıntı
Gönderildi : 11/07/2020 19:17
kazimates
(@kazimates)
Üye

Bu konuyl aolarak çözümü şu şekilde buldum. https://docs.mongodb.com/manual/administration/production-notes/#prod-notes-platform-considerations adresinde de görüleceği üzere

MongoDB requires a filesystem that supports fsync() on directories. For example, HGFS and Virtual Box’s shared folders do not support this operation.

fsync için mongodb HGFS veya Vm shared folder veya benim örneğime göre QNAP NAS shared NFS veya CIFS farketmiyor bu fsync desteği bu tip bağlantı noktaları için çalışmıyormuş. Bunun üzerine bende olayı artık fazla zorlamamak adına root da mkdir data ve bunun altına da mkdir db diye iki klaösrü oluşturup mongonun açılışta bu default klasöre veri kaydetmesini sağlattım.

#data/db/

ayrıca bu klasörlere ise chown ile mongodb:mongodb için yetki verdim. Daha sonra ise nano /etc/mongodb.conf içinde aşağı daki gibi değişikliği yaptım ve mongo db data ve log dosyasını nerede saklamasını gösterdim.

dbpath=/data/db
#dbpath=/storage/mongodb
#dbpath=/var/lib/mongodb

#where to log
#logpath=/var/log/mongodb/mongodb.log
logpath=/data/db/mongodb.log

bundan sonra ise eski monogdb klasöründe ki tüm verilerimi bu path alrına kaydedip içinde ki mongod.lock dosyasını silip sunucuyu reboot ettim. sorunlar ortadan bu şekilde kalkmış oldu.

CevapAlıntı
Gönderildi : 11/07/2020 23:12
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Bilgi için teşekkürler.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 12/07/2020 01:27
Paylaş: