debian üzerinde mongodb kurulumu

Kurulum
> apt-get search mongodb 
Debian linux sürümünde mongo kurulumu https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/#overview üzerindeki işlemler sırasıyla takip edilir. Genelde mongo reposu eski kaldığı için bu sayfadaki yeni repo eklenir ve ondan sonra yeni sürüm yükleme yapılır.
> cat /etc/mongod.conf mongo
config dosyasının türü yaml o yüzden yaml uzantılı dosyayı validation için http://codebeautify.org/yaml-validator kullanılabilir. Yaml dosyasında tab kullanılmıyor, tüm boşluklar space ile bırakılıyor. Tab kalırsa dosya parse edilirken hata verir.
mongoyu dışarı bağlantılara açmak için aşağıdaki iptable üzerinde aşağıdaki rulelar eklendi
sudo iptables -A INPUT -s 213.243.28.20 -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -d 213.243.28.20 -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT
2- sonra mongod config dosyasına
> sudo nano /etc/mongod.conf
içinde
 bindIp: 127.0.0.1,XXX.XXX.XX.XX
ikinci ip virgül eklenerek düzenlendi
> sudo service mongod restart
test makinesinden mongo 213.243.28.20:27017 olarak çağrıldı geldi
daha sonra authentication sağlamak için
/etc/mongod.conf dosyası içindeki #security önündeki yorum satırı olduğunu gösteren # kaldırıldı ve authentication: 'enabled' eklendi
>sudo service mongod restart  
dememize rağmen aşağıdaki hata alındı, bu hata logunda görüldüğü üzere permission denied hatası veriyor.
2017-03-13T12:03:27.303+0300 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
mongo servisi bir türlü başlamıyordu ve hata veriyordu mongonun loguna baktığımızda (log dosyasının yerine /etc/mongod.conf içinden bakılır)
2017-03-13T12:11:55.534+0300 E STORAGE  [initandlisten] WiredTiger error (13) [1489396315:534081][5425:0x7fbe1d862cc0]
, file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.turtle: handle-open: open: Permission denied
2017-03-13T12:11:55.534+0300 I -        [initandlisten] Assertion: 28595:13: Permission denied src/mongo/db/storage/wi
redtiger/wiredtiger_kv_engine.cpp 267
2017-03-13T12:11:55.535+0300 I STORAGE  [initandlisten] exception in initAndListen: 28595 13: Permission denied, termi
nating
2017-03-13T12:11:55.535+0300 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-03-13T12:11:55.535+0300 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2017-03-13T12:11:55.535+0300 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-03-13T12:11:55.535+0300 I CONTROL  [initandlisten] now exiting
2017-03-13T12:11:55.535+0300 I CONTROL  [initandlisten] shutting down with code:100
Hatayı düzeltmek için önce Bu arada /var/lib/mongodb altındaki dosyalar
> rm -r * 
ile silindi. sonra aşağıdaki komut çalıştırıldı
sudo chown -R mongodb:mongodb /var/lib/mongodb
dedikten sonra mongodb tekrar erişilebilir olarak ayağa kalktı.
ancak security: authentication:enabled ikinci defa denememizde hata verdi
exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /var/lib/mongodb, terminating
görüldüğü üzere log hiç bir şey ifade etmiyor. Hatayı göstermiyor. Bunun için
> sudo service mongod status
dediğimizde hata yaml dosyasında syntax error olduğunu ve sayfada bir tab olduğu için düzgün parse edemediğini ifade ediyor. Ayrıca authentication : enabled ifadesi string olmalıymış o yüzden
authentication 'enabled' şeklinde yazılması gerekiyor.
Hata logu
mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled)
   Active: failed (Result: exit-code) since Pzt 2017-03-13 13:02:55 +03; 49s ago
     Docs: https://docs.mongodb.org/manual
  Process: 15075 ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf (code=exited, status=2)
Main PID: 15075 (code=exited, status=2)

Mar 13 13:02:55 fanmongodblog systemd[1]: Started High-performance, schema-f....
Mar 13 13:02:55 fanmongodblog mongod[15075]: Error parsing YAML config file:...n
Mar 13 13:02:55 fanmongodblog mongod[15075]: try '/usr/bin/mongod --help' fo...n
Mar 13 13:02:55 fanmongodblog systemd[1]: mongod.service: main process exite...T
Mar 13 13:02:55 fanmongodblog systemd[1]: Unit mongod.service entered failed....
Hint: Some lines were ellipsized, use -l to show in full.
mongod.conf

User yaratma işlemleri için kaynak(http://ogankeskiner.blogspot.com.tr/2017/01/mongodb-authentication.html)

Yorumlar

Bu blogdaki popüler yayınlar

Haproxy ve arkada 2 nginx server yönlendirme

04.06.2018 - 08-06.2018 arası işler