سؤال

استخدام MongoDb على Arch Linux 64 بت.تثبيت العلامة التجارية الجديدة.محاولة كجذر:

/etc/rc.d/mongodb start

يقول السجل:

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


Thu Mar 15 12:00:18 BackgroundJob starting: DataFileSync
Thu Mar 15 12:00:18 versionCmpTest passed
Thu Mar 15 12:00:18 versionArrayTest passed
Thu Mar 15 12:00:18 shardObjTest passed
Thu Mar 15 12:00:18 shardKeyTest passed
Thu Mar 15 12:00:18 isInRangeTest passed
Thu Mar 15 12:00:18 [initandlisten] MongoDB starting : pid=580 port=27017 dbpath=/data/db 64-bit host=(none)
Thu Mar 15 12:00:18 [initandlisten] db version v2.0.3, pdfile version 4.5
Thu Mar 15 12:00:18 [initandlisten] git version: nogitversion
Thu Mar 15 12:00:18 [initandlisten] build info: Linux brynhild.archlinux.org 3.2.6-1-ARCH #1 SMP PREEMPT Tue Feb 14 09:11:26 CET 2012 x86_64 BOOST_LIB_VERSION=1_49
Thu Mar 15 12:00:18 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/data/db", fork: true, journal: "true", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", port: 27017, rest: "true", vvvv: "true" }
Thu Mar 15 12:00:18 [initandlisten] User Assertion: 10309:Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?
Thu Mar 15 12:00:18 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Thu Mar 15 12:00:18 dbexit: 
Thu Mar 15 12:00:18 [initandlisten] shutdown: going to close listening sockets...
Thu Mar 15 12:00:18 [initandlisten] shutdown: going to flush diaglog...
Thu Mar 15 12:00:18 [initandlisten] shutdown: going to close sockets...
Thu Mar 15 12:00:18 [initandlisten] shutdown: waiting for fs preallocator...
Thu Mar 15 12:00:18 [initandlisten] shutdown: lock for final commit...
Thu Mar 15 12:00:18 [initandlisten] shutdown: final commit...
Thu Mar 15 12:00:18 [initandlisten] shutdown: closing all files...
Thu Mar 15 12:00:18 [initandlisten] closeAllFiles() finished
Thu Mar 15 12:00:18 [initandlisten] shutdown: removing fs lock...
Thu Mar 15 12:00:18 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 15 12:00:18 dbexit: really exiting now

أذونات الدليل والملف:

[root@(none) ~]# ls -lisa /data/db/
total 12
262711 4 drwxr-xr-x 3 root root 4096 Mar 15 11:43 .
262710 4 drwxr-xr-x 3 root root 4096 Mar 15 11:25 ..
262714 4 drwxr-xr-x 2 root root 4096 Mar 15 11:43 journal
261775 0 -rwxr-xr-x 1 root root    0 Mar 15 11:43 mongod.lock

مؤتمر MongoDB:

port = 27017
dbpath = /data/db
logpath = /var/log/mongodb/mongodb.log
logappend = true
vvvv = true
journal = true
rest = true

يمكنني بدء مثيل MongoDB بواسطة mongod, ولكن ليس في الخلفية كما هو مذكور أعلاه.أي مساعدة ستكون رائعة، شكرا.

هل كانت مفيدة؟

المحلول

لقد قمت بالتحقق من /etc/rc.d/mongodb، وأعتقد أنه سيستخدم مستخدم mongodb لتشغيل الخدمة:

[ -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --fork" > /dev/null

أعتقد أن هذا الخطأ قد يكون سببه تشغيل mongod باستخدام الجذر، لذلك تم تغيير مالك mongod.lock إلى الجذر.

نصائح أخرى

يمكنني بدء مثيل MongoDB بواسطة mongod، ولكن ليس في الخلفية كما هو مذكور أعلاه

عندما تبدأ mongod بهذه الطريقة هل تبدأ فعليًا بكل المعلمات نفسها؟ملف القفل مخصص لهذا المجلد المحدد فقط.

الأشياء التي يجب التحقق منها:

  1. هل هناك بالفعل مثيل ل mongod جري (ps -ef | grep mongod)?
  2. هل هناك شيء آخر يعمل على هذا المنفذ؟
  3. هل التكوينات صحيحة؟لماذا لديك --journal الأمر، لا ينبغي أن يكون هذا --nojournal في الإصدار 2.0+ أو ببساطة لا شيء؟
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top