Bagaimana cara saya mendapatkan mongo untuk menggunakan drive yang terpasang di EC2? Saya benar-benar tidak mengerti. Saya memasang volume pada EC2 yang memformat drive sebagai root dan mulai sebagai root dan sebagai root saya tidak bisa mengakses? Saya menjalankan di ubuntu 12.04. Tidak ada mongo lain yang berjalan
Saya melihat bahwa mongo membuat dir 'db' di / data ie / data / db
cd /
ls -al
drwxr-xr-x 4 root root 4096 Mar 5 16:28 data
cd /data
ls -al
total 28
drwxr-xr-x 4 root root 4096 Mar 5 16:28 .
drwxr-xr-x 24 root root 4096 Mar 5 16:28 ..
drwxr-xr-x 2 root root 4096 Mar 5 16:28 db
drwx------ 2 root root 16384 Mar 5 16:20 lost+found
sudo mkfs.ext3 /dev/xvdh
sudo mkdir /data
sudo su - -c 'echo "/dev/xvdh %s auto noatime 0 0" | sudo tee -a /etc/fstab'
sudo mount /data
sudo service mongodb start
mongodb start/running, process 17169
sudo ps -ef | grep mongod
ubuntu 15763 15634 0 16:32 pts/2 00:00:00 tail -f mongodb.log
ubuntu 18049 15766 0 16:43 pts/3 00:00:00 grep --color=auto mongod
Tue Mar 5 16:33:15 [initandlisten] MongoDB starting : pid=15890 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar 5 16:33:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar 5 16:33:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar 5 16:33:15 [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
Tue Mar 5 16:33:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar 5 16:33:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar 5 16:33:15 dbexit:
Tue Mar 5 16:33:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar 5 16:33:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar 5 16:33:15 [initandlisten] shutdown: going to close sockets...
Tue Mar 5 16:33:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar 5 16:33:15 [initandlisten] shutdown: lock for final commit...
Tue Mar 5 16:33:15 [initandlisten] shutdown: final commit...
Tue Mar 5 16:33:15 [initandlisten] shutdown: closing all files...
Tue Mar 5 16:33:15 [initandlisten] closeAllFiles() finished
Tue Mar 5 16:33:15 [initandlisten] shutdown: removing fs lock...
Tue Mar 5 16:33:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar 5 16:33:15 dbexit: really exiting now
Di bawah ini adalah jika saya memulai kembali ketika saya menghapus file kunci ....
Tue Mar 5 16:59:15 [initandlisten] MongoDB starting : pid=21091 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar 5 16:59:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar 5 16:59:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar 5 16:59:15 [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
Tue Mar 5 16:59:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar 5 16:59:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar 5 16:59:15 dbexit:
Tue Mar 5 16:59:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar 5 16:59:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar 5 16:59:15 [initandlisten] shutdown: going to close sockets...
Tue Mar 5 16:59:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar 5 16:59:15 [initandlisten] shutdown: lock for final commit...
Tue Mar 5 16:59:15 [initandlisten] shutdown: final commit...
Tue Mar 5 16:59:15 [initandlisten] shutdown: closing all files...
Tue Mar 5 16:59:15 [initandlisten] closeAllFiles() finished
Tue Mar 5 16:59:15 [initandlisten] shutdown: removing fs lock...
Tue Mar 5 16:59:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar 5 16:59:15 dbexit: really exiting now
chown mongodb:mongodb on /var/lib/monogdb
,, juga pada direktori data.Jawaban:
Saya mengalami masalah yang sama pada contoh Ubuntu ec2. Saya mengikuti artikel amazon ini di halaman 7:
http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf
Jalur Mongodb di
/etc/mongodb.conf
diatur ke/var/lib/mongodb
(lokasi pemasangan utama dan berfungsi). Ketika saya berubah menjadi/data/db
(volume EBS) saya mendapatkan 'errno: 13 Izin ditolak'.sudo service mongodb stop
.ls -la
melihat grup & pemilik mongodb yang ditugaskan untuk/var/lib/mongodb
(jalur yang ada) dan saya mengubah/data/db
(jalur baru) denganchown
danchgrp
untuk mencocokkan. (contoh:sudo chown -R mongodb:mongodb /data/db
:)etc/mongodb.conf
ke/data/db
dan menghapus file mongo lama di/var/lib/mongodb
direktori.sudo service mongodb start
dan menunggu sekitar satu menit. Jika Anda mencoba menghubungkan ke 27017 dengan segera, Anda tidak akan dapat melakukannya./data/db
(volume EBS) dan mongo seharusnya meletakkan jurnal, mongod.lock, local.ns, local.0, dll. Jika tidak mencobasudo service mongodb restart
dan periksa satu menit kemudian.Saya hanya menghabiskan lebih dari satu jam dengan ini. Mengubah grup dan menghapus file lama mungkin tidak perlu, tetapi itulah yang berhasil bagi saya.
Ini adalah video yang luar biasa tentang cara memasang volume ebs ke ec2 misalnya:
http://www.youtube.com/watch?v=gBII3o3BofU
sumber
Saya menggunakan metode ini untuk menyelesaikan masalah:
sumber
-R
opsi dan sempurna :)id -u
/ data / db untuk yang belum tahu. :)sudo chown $USER /data/db
alih-alih perintah aslinya.id -U
atau$USER
barang. mongo memiliki pengguna / grup sendiri. Anda bisa dan harus kode keras mongodb: mongodb. jadi perintahnya sederhanasudo chown -R mognodb:mognodb /data/db
Dalam kasus saya (contoh AWS EC2, Ubuntu) membantu:
Dan setelah itu semuanya bekerja dengan baik.
sumber
/data/db
keUSERNAME
Anda hanya perlu memberikan akses ke blog Anda
/data/db
folder .Ketik
sudo chown -R <USERNAME> /data/db
, ganti<USERNAME>
dengan nama pengguna Anda.Anda dapat menemukan nama pengguna Anda dengan mengetik
whoami
.sumber
Saya menginstal mongodb dengan EBS pada EC2 dengan Ubuntu 14.04 berikut tutorial ini:
http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/
Tapi bukannya chown yang disarankan saya lakukan:
Menyelesaikan masalah
sumber
Saya memiliki masalah yang sama, alasan sebenarnya adalah bahwa sudah ada sesi mongod berjalan dari upaya saya sebelumnya.
Saya berlari
dan semua yang lain berjalan seperti yang diharapkan.
killall
perintah akan mengirim sinyal TERM ke semua proses dengan UID nyata. Jadi ini membunuh semua instance dari menjalankan mongod sehingga Anda bisa memulai sendiri.sumber
Sampai hari ini, saya mencoba mencari cara untuk membuat / membuka file kunci: /data/db/mongod.lock errno: 13 Izin ditolak Apakah instance mongod sudah berjalan ? , mengakhiri , dan mencoba semua jawaban yang diposting di atas untuk pecahkan masalah ini, maka tidak ada yang berhasil dengan menambahkan
Kecuali saya menambahkan izin pengguna saya saat ini ke jalur lokasi oleh
Semoga ini bisa membantu seseorang. Juga saya baru saja menginstal Mongo DB pada pi saya. Bersulang!
sumber
Saya memiliki masalah yang sama dan mengikuti semua instruksi di atas tentang mengubah pemilik menggunakan sudo chown dll. Saya masih memiliki contoh mongodb berjalan di latar belakang setelah perubahan. Lari
menunjukkan kepada saya tugas-tugas lain menggunakan mongo yang berjalan di latar belakang yang tidak ditutup dengan benar. Saya kemudian menjalankan kill pada semua yang berjalan dan kemudian dapat memulai server saya.
sumber
Untuk pengguna mac:
Jalankan ls -ld / data / db /
Output harus seperti drwrx-xr-x 20 roda singh 680 21 Jul 05:49 / data / db /
Di mana singh adalah pemilik dan roda adalah grup yang dimilikinya. .
Jalankan sudo chown -R singh: roda / data / db
Jalankan mongod
sumber
Menghapus file mongodb.lock bukan masalah dalam kasus saya. Saya melakukannya dan mendapat kesalahan tentang port yang sedang digunakan: [initandlisten] listen (): bind () gagal errno: 98 Alamat sudah digunakan untuk socket: 0.0.0.0: 7017. Saya menemukan solusi lain di sini: tidak dapat memulai server lokal mongodb dengan instruksi untuk mematikan proses:
Cari tahu dari netstat proses mana yang menjalankan port mongodb (27017)
sudo netstat -tulpn | grep :27017
Output akan menjadi: tcp 0 0 0.0.0.0:7017 0.0.0.0:* DENGARKAN 1412 / mongod
Bunuh proses yang sesuai.
sudo kill 1412
(ganti 1412 dengan ID proses Anda yang ditemukan di langkah 1)Dan saya berhasil memulai mongodb lagi. Saya percaya saya masih berjalan dari penutupan yang tidak tepat.
sumber
Bagi Anda yang mengalami kesalahan ini di Windows menggunakan Task Manager, mengakhiri contoh "mongod.exe" yang sedang berjalan. Setelah itu selesai secara permanen hapus file mongo.lock dan jalankan mongod.exe. Seharusnya bekerja dengan sempurna setelah itu.
sumber
Mongo saya (3.2.9) diinstal pada Ubuntu, dan file log saya memiliki baris berikut:
2016-09-28T11: 32: 07.822 + 0100 I CONTROL [initandlisten] dbexit: rc: 100
Jadi masalahnya adalah dalam izin pada folder / var / lib / mongodb.
Memperbaikinya, meskipun saya menyadari bahwa mungkin tidak terlalu aman (ini adalah kotak dev saya sendiri dalam kasus saya), sedikit mengikuti perubahan db dan otentikasi berfungsi.
sumber
In Mycase
In mongodb versi 2.6.11 direktori databse default adalah
/var/lib/mongodb/
$ sudo chown -R
id -u
/ var / lib / mongodb /$ sudo chown -R
id -u
/var/lib/mongodb/mongod.lock$ sudo /etc/init.d/mongod stop
$ sudo /etc/init.d/mongod start
sumber
Saya mendapat masalah yang sama ketika saya menjalankan perintah mongod setelah menginstalnya pada Windows10. Saya menghentikan layanan mongodb dan mulai lagi. Bekerja seperti pesona
Perintah untuk menghentikan layanan mongodb (di windows):
net stop mongodb
Perintah untuk memulai server mongodb:
mongod --dbpath PATH_TO_DATA_FOLDER
sumber
Pada Fedora 18 dengan Mongo 2.2.4 misalnya saya bisa mengatasi kesalahan yang sama dengan menonaktifkan SELinux dengan menelepon
setenforce 0
sebagai root.BTW, ini adalah lingkungan perusahaan, bukan contoh Amazon EC2, tetapi gejalanya mirip.
sumber
Dalam kasus saya, masalah ini diselesaikan dengan menghapus file log .
Meskipun pesan kesalahan merujuk secara khusus ke file kunci :
sumber
Setelah saya membunuh mongod, saya hanya memiliki masalah yang sama: tidak dapat memulai mongod.
2015-08-03T05:58:41.339+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongodbtest/replset/data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Setelah saya menghapus kunci secara langsung, saya dapat memulai kembali proses mongod.
sumber
Inilah yang saya lakukan untuk memperbaiki masalah:
$ sudo mkdir -p / data / db
$ export PATH = / usr / local / Cellar / mongodb / 3.0.7 / bin: $ PATH
$ sudo chown -R
id -u
/ data / dbdan kemudian memulai mongo ...
$ mongod
sumber
Saya memiliki masalah yang sama.
Saya menyelesaikannya dengan mengubah status selinux menjadi permisif dengan perintah di bawah ini:
sumber
Lakukan
ls -la
untuk mengetahui pengguna dan grup / var / log / mongodb. Lalu lakukansudo chown -R user:group /data/db
Sekarang jalankansudo service mongodb start
. Periksa status dengansudo service mongodb status
sumber
Pada windows pastikan konsol dijalankan sebagai aministrator
sumber
Anda bisa mencoba dengan cara ini. 1
tetapi pada beberapa waktu, ini tidak berguna. Ke-2 jika cara di atas tidak berguna, Anda dapat mencoba melakukan ini:
atau ketik:
untuk mendapatkan aliran output
sumber
Bagi saya di CentOS 6.x:
sudo chown -R mongodb:mongodb <db-path> sudo service mongod restart
Dan Aku telah menetapkan kustom
db-path
di/etc/mongod.conf
.sumber
Jika Anda benar-benar menginginkan satu baris yang setara dengan perintah dalam pertanyaan awal Anda, Anda dapat alias:
https://stackoverflow.com/a/11777141/7160782
sumber
Di Server Centos
ini bekerja untuk saya
sumber
Mendapat kesalahan yang sama, diperbaiki dengan menghapus semua catatan (dalam direktori kasus saya
journals
, dan filemongo.lock...
), setelah itu periksa port dengansudo lsof -i:27017
, jika ada sesuatu yang berjalan di atasnyakill <PID of the process>
, dan coba jalankan./mongod
lagisumber
Memperbaiki:
sudo mongod
Saya memiliki masalah yang sama, menjalankan mongod dengan hak sudo memperbaikinya. Berasal dari lingkungan windows, saya hanya menggunakan
mongod
untuk memulai daemon, nampaknya kita membutuhkan hak akses superuser untuk mengakses / data / db.Anda juga dapat memberikan izin baca dan tulis kepada pengguna non-root ke jalur itu. periksa jawaban di atas untuk panduan!
sumber
Setiap kali Anda ketika Anda mencoba memulai mongod ketik saja
atau jika ingin memperbaikinya secara permanen, coba berikan rwx premission ke folder / data / db
sumber