MongoDBのサービスを常駐できない
現象:
serviceコマンドからのスタートが出来ない。
$ service mongod start [失敗]
試したこと:
lockファイルの削除、DBの修復
$ rm -f /var/lib/mongo/mongod.lock /usr/local/var/mongod/mongod.lock
$ mongod --repair --dbpath=/data/db/
現状:
- mongodコマンドを打つと、実行中には出来ます。
- 別のシェルを立ち上げて、mongoコマンドでシェルを起動することも出来ました。
- $ service mongod status
とすると停止状態です。
- psコマンド、netstatコマンドで確認してもポートかぶりや実は動いている・・・
といったことは確認できませんでした。
設定ファイル:
bind_ipの変更とipv6=trueの追記をしました。
bind_ip=192.168.XX.XX
ipv6=true
環境:
Vagrant
host:windows8.1
guest:CentOS6.6
MongoDB shell version: 2.6.10
MongoDB db version: 2.6.10
以上です、何かご存知の方がいらっしゃいましたら
ご教授願います。
追記します。
エラーログ:
シェル上は特に何も出ずです。
[root@localhost log]# service mongod start
Starting mongod: [失敗]
[root@localhost log]#
mongoDBのログファイルも更新されていませんでした。
ただ、/var/log/secureに以下のエラーログが吐かれていました。
Aug 5 07:16:41 localhost runuser: pam_unix(runuser:session): session opened for user mongod by vagrant(uid=0)
Aug 5 07:16:41 localhost runuser: pam_unix(runuser:session): session closed for user mongod
実行ログ:
bash -x /etc/init.d/mongod start
を実行してみました。
始めて使ったコマンドなのでちんぷんかんぷんですが;
頑張ってみます。
+ . /etc/rc.d/init.d/functions
++ TEXTDOMAIN=initscripts
++ umask 022
++ PATH=/sbin:/usr/sbin:/bin:/usr/bin
++ export PATH
++ '[' -z '' ']'
++ COLUMNS=80
++ '[' -z '' ']'
+++ /sbin/consoletype
++ CONSOLETYPE=pty
++ '[' -f /etc/sysconfig/i18n -a -z '' -a -z '' ']'
++ . /etc/profile.d/lang.sh
++ unset LANGSH_SOURCED
++ '[' -z '' ']'
++ '[' -f /etc/sysconfig/init ']'
++ . /etc/sysconfig/init
+++ BOOTUP=color
+++ RES_COL=60
+++ MOVE_TO_COL='echo -en \033[60G'
+++ SETCOLOR_SUCCESS='echo -en \033[0;32m'
+++ SETCOLOR_FAILURE='echo -en \033[0;31m'
+++ SETCOLOR_WARNING='echo -en \033[0;33m'
+++ SETCOLOR_NORMAL='echo -en \033[0;39m'
+++ PROMPT=yes
+++ AUTOSWAP=no
+++ ACTIVE_CONSOLES='/dev/tty[1-6]'
+++ SINGLE=/sbin/sushell
++ '[' pty = serial ']'
++ __sed_discard_ignored_files='/\(~\|\.bak\|\.orig\|\.rpmnew\|\.rpmorig\|\.rpmsave\)$/d'
+ CONFIGFILE=/etc/mongod.conf
+ OPTIONS=' -f /etc/mongod.conf'
+ SYSCONFIG=/etc/sysconfig/mongod
++ awk '-F[:=]' -v IGNORECASE=1 '/^[[:blank:]]*dbpath[[:blank:]]*[:=][[:blank:]]*/{print $2}' /etc/mongod.conf
++ tr -d '[:blank:]'
+ DBPATH=/var/lib/mongo
++ tr -d '[:blank:]'
++ awk '-F[:=]' -v IGNORECASE=1 '/^[[:blank:]]*pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print $2}' /etc/mongod.conf
+ PIDFILE=/var/run/mongodb/mongod.pid
++ dirname /var/run/mongodb/mongod.pid
+ PIDDIR=/var/run/mongodb
+ mongod=/usr/bin/mongod
+ MONGO_USER=mongod
+ MONGO_GROUP=mongod
+ '[' -f /etc/sysconfig/mongod ']'
+ . /etc/sysconfig/mongod
+ NUMACTL_ARGS=--interleave=all
+ which numactl
+ NUMACTL=
+ RETVAL=0
+ case "$1" in
+ start
+ '[' '!' -d /var/run/mongodb ']'
+ ulimit -f unlimited
+ ulimit -t unlimited
+ ulimit -v unlimited
+ ulimit -n 64000
+ ulimit -m unlimited
+ ulimit -u 64000
+ echo -n 'Starting mongod: '
Starting mongod: + daemon --user mongod --check /usr/bin/mongod ' /usr/bin/mongod -f /etc/mongod.conf >/dev/null 2>&1'
+ local gotbase= force= nicelevel corelimit
+ local pid base= user= nice= bg= pid_file=
+ local cgroup=
+ nicelevel=0
+ '[' --user '!=' -user ']'
+ case $1 in
+ user=mongod
+ shift 2
+ '[' --check '!=' -check ']'
+ case $1 in
+ base=/usr/bin/mongod
+ gotbase=yes
+ shift 2
+ '[' ' /usr/bin/mongod -f /etc/mongod.conf >/dev/null 2>&1' '!=' ' /usr/bin/mongod -f /etc/mongod.conf >/dev/null 2>&1' ']'
+ '[' -z yes ']'
+ __pids_var_run /usr/bin/mongod ''
+ local base=mongod
+ local pid_file=/var/run/mongod.pid
++ /usr/bin/dirname /var/run/mongod.pid
+ local pid_dir=/var/run
+ local binary=
+ '[' -d /var/run -a '!' -r /var/run ']'
+ pid=
+ '[' -f /var/run/mongod.pid ']'
+ return 3
+ '[' -n '' -a -z '' ']'
+ corelimit='ulimit -S -c 0'
+ '[' -n '' ']'
+ '[' -n '' ']'
+ '[' color = verbose -a -z '' ']'
+ '[' -z mongod ']'
+ runuser -s /bin/bash mongod -c 'ulimit -S -c 0 >/dev/null 2>&1 ; /usr/bin/mongod -f /etc/mongod.conf >/dev/null 2>&1'
+ '[' 1 -eq 0 ']'
+ failure '/usr/bin/mongod 起動'
+ local rc=1
+ '[' color '!=' verbose -a -z '' ']'
+ echo_failure
+ '[' color = color ']'
+ echo -en '\033[60G'
+ echo -n '['
[+ '[' color = color ']'
+ echo -en '\033[0;31m'
+ echo -n $'\345\244\261\346\225\227'
失敗+ '[' color = color ']'
+ echo -en '\033[0;39m'
+ echo -n ']'
]+ echo -ne '\r'
+ return 1
+ '[' -x /bin/plymouth ']'
+ /bin/plymouth --details
+ return 1
+ RETVAL=1
+ echo
+ '[' 1 -eq 0 ']'
+ exit 1
startのファンクションを変更後:
/etc/init.d/mongodのstart()を以下のように変更。
# daemon --user "$MONGO_USER" --check $mongod "$NUMACTL $mongod $OPTIONS >/dev/null 2>&1"
daemon --user "$MONGO_USER" --check $mongod "$NUMACTL $mongod $OPTIONS"
シェルでservice mongod start
を実行。
Starting mongod: about to fork child process, waiting until server is ready for connections.
forked process: 4985
ERROR: child process failed, exited with error number 1
[失敗]
設定ファイル(/etc/mongod.conf):
# mongod.conf
#where to log
logpath=/var/log/mongodb/mongod.log
logappend=true
# fork and run in background
fork=true
#port=27017
dbpath=/var/lib/mongo
# location of pidfile
pidfilepath=/var/run/mongodb/mongod.pid
# Listen to local interface only. Comment out to listen on all interfaces.
# bind_ip=127.0.0.1
bind_ip=192.168.33.10
ipv6=true
# Disables write-ahead journaling
# nojournal=true
journal=true
smallfiles=true
# Enables periodic logging of CPU utilization and I/O wait
#cpu=true
# Turn on/off security. Off is currently the default
#noauth=true
#auth=true
# Verbose logging output.
#verbose=true
# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck=true
# Enable db quota management
#quota=true
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#diaglog=0
# Ignore query hints
#nohints=true
# Enable the HTTP interface (Defaults to port 28017).
#httpinterface=true
# Turns off server-side scripting. This will result in greatly limited
# functionality
#noscripting=true
# Turns off table scans. Any query that would do a table scan fails.
#notablescan=true
# Disable data file preallocation.
#noprealloc=true
# Specify .ns file size for new databases.
# nssize=<size>
# Replication Options
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#keyFile=/path/to/keyfile
ファイル詳細
ひとまず、find / -name mongo
で検索をかけて、必要になりそうなものの権限を調べました。
■ /root/
-rw-------. 1 root root 0 8月 5 00:28 2015 .mongorc.js
-rw-r--r--. 1 root root 0 8月 6 08:32 2015 mongod.log
■ /var/lib/
drwxrw-rw-. 3 mongod mongod 4096 8月 6 02:05 2015 mongo
■ /var/lib/mongo/:
合計 81936
drwxrw-rw-. 2 mongod mongod 4096 8月 6 02:06 2015 journal
-rwxrw-rw-. 1 mongod mongod 67108864 8月 6 01:42 2015 local.0
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 01:42 2015 local.ns
■ /var/lib/mongo/journal:
合計 2228244
-rwxrw-rw-. 1 mongod mongod 134217728 8月 6 02:06 2015 prealloc.0
-rwxrw-rw-. 1 mongod mongod 1073741824 8月 4 11:56 2015 prealloc.1
-rwxrw-rw-. 1 mongod mongod 1073741824 8月 4 11:56 2015 prealloc.2
■ /var/run/
drwxr-xr-x. 2 mongod mongod 4096 8月 6 02:04 2015 mongodb
■ /var/log/
drwxr-xr-x. 2 mongod mongod 4096 8月 6 08:34 2015 mongodb
■ /var/log/mongodb
-rw-r--r--. 1 root root 2278 8月 6 08:34 2015 mongod.log
-rw-r-----. 1 mongod mongod 46307 8月 4 14:24 2015 mongod.log.2015-08-04T11-51-01
-rw-r--r--. 1 root root 7858 8月 6 02:06 2015 mongod.log.2015-08-05T23-54-14
-rw-r--r--. 1 root root 3845 8月 6 01:54 2015 mongod.log.2015-08-06T00-02-05
-rw-r--r--. 1 root root 3845 8月 6 02:02 2015 mongod.log.2015-08-06T00-02-51
-rw-r--r--. 1 root root 1741 8月 6 02:02 2015 mongod.log.2015-08-06T06-29-24
-rw-r--r--. 1 root root 2278 8月 6 08:29 2015 mongod.log.2015-08-06T06-34-35
■ /usr/local/var/
drwxrw-rw-. 8 mongod mongod 4096 8月 6 11:28 2015 mongod
■ /usr/local/var/mongod
drwxrw-rw-. 2 mongod mongod 4096 8月 6 11:28 2015 _tmp
drwxrw-rw-. 2 mongod mongod 4096 8月 7 02:09 2015 journal
drwxrw-rw-. 2 mongod mongod 4096 8月 5 00:11 2015 local
-rwxrw-rw-. 1 mongod mongod 67108864 8月 6 10:40 2015 local.0
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 10:40 2015 local.ns
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 14:55 2015 mongo_project_development.0
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 14:55 2015 mongo_project_development.ns
-rwxrw-rw-. 1 mongod mongod 0 8月 7 02:09 2015 mongod.lock
drwxrw-rw-. 2 mongod mongod 4096 8月 5 14:43 2015 sampledb
-rwxrw-rw-. 1 mongod mongod 67108864 8月 6 10:47 2015 sampledb.0
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 10:40 2015 sampledb.ns
drwxrw-rw-. 2 mongod mongod 4096 8月 5 14:43 2015 test
-rwxrw-rw-. 1 mongod mongod 67108864 8月 6 10:40 2015 test.0
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 10:40 2015 test.ns
drwxrw-rw-. 2 mongod mongod 4096 8月 5 14:42 2015 testdb
-rwxrw-rw-. 1 mongod mongod 67108864 8月 6 10:40 2015 testdb.0
-rwxrw-rw-. 1 mongod mongod 16777216 8月 6 10:40 2015 testdb.ns
■ /usr/local/var/mongod/_tmp:空
■ /usr/local/var/mongod/journal:
-rwxrw-rw-. 1 mongod mongod 134217728 8月 7 02:09 2015 prealloc.0
-rwxrw-rw-. 1 mongod mongod 134217728 8月 6 02:10 2015 prealloc.1
-rwxrw-rw-. 1 mongod mongod 134217728 8月 6 02:10 2015 prealloc.2
■ /usr/local/var/mongod/local:空
■ /usr/local/var/mongod/sampledb:空
■ /usr/local/var/mongod/test:空
■ /usr/local/var/mongod/testdb:空
■ /usr/share/man/manX/
-rw-r--r--. 1 root root 16592 5月 19 17:25 2015 mongo.1
-rw-r--r--. 1 root root 39099 5月 19 17:25 2015 mongod.1
-rw-r--r--. 1 root root 16840 5月 19 17:25 2015 mongodump.1
-rw-r--r--. 1 root root 19099 5月 19 17:25 2015 mongoexport.1
-rw-r--r--. 1 root root 14153 5月 19 17:25 2015 mongofiles.1
-rw-r--r--. 1 root root 16065 5月 19 17:25 2015 mongoimport.1
-rw-r--r--. 1 root root 13347 5月 19 17:25 2015 mongooplog.1
-rw-r--r--. 1 root root 5825 5月 19 17:25 2015 mongoperf.1
-rw-r--r--. 1 root root 16644 5月 19 17:25 2015 mongorestore.1
-rw-r--r--. 1 root root 23535 5月 19 17:25 2015 mongos.1
-rw-r--r--. 1 root root 15941 5月 19 17:25 2015 mongostat.1
-rw-r--r--. 1 root root 12415 5月 19 17:25 2015 mongotop.1
■ /usr/bin/
-rwxr-xr-x. 1 root root 11957616 5月 19 17:25 2015 mongo
-rwxr-xr-x. 1 root root 23937328 5月 19 17:25 2015 mongod
-rwxr-xr-x. 1 root root 23828304 5月 19 17:25 2015 mongodump
-rwxr-xr-x. 1 root root 23774576 5月 19 17:25 2015 mongoexport
-rwxr-xr-x. 1 root root 23823616 5月 19 17:25 2015 mongofiles
-rwxr-xr-x. 1 root root 23798992 5月 19 17:25 2015 mongoimport
-rwxr-xr-x. 1 root root 23766384 5月 19 17:25 2015 mongooplog
-rwxr-xr-x. 1 root root 23580768 5月 19 17:25 2015 mongoperf
-rwxr-xr-x. 1 root root 23868944 5月 19 17:25 2015 mongorestore
-rwxr-xr-x. 1 root root 18540080 5月 19 17:25 2015 mongos
-rwxr-xr-x. 1 root root 23819824 5月 19 17:25 2015 mongostat
-rwxr-xr-x. 1 root root 23762096 5月 19 17:25 2015 mongotop
■ /etc/mongod.conf
-rw-r--r--. 1 root root 1598 8月 6 01:52 2015 mongod.conf
■ /etc/rc.d/init.d/mongod
-rwxr-xr-x. 1 root root 2719 8月 6 08:20 2015 mongod
■ /etc/rc.d/init.d/mongod.bk
-rwxr-xr-x. 1 root root 2644 8月 6 08:19 2015 mongod.bk
■ /etc/rc.d/rc0.d/K15mongod
lrwxrwxrwx. 1 root root 16 8月 4 11:33 2015 K15mongod -> ../init.d/mongod
■ /etc/rc.d/rc1.d/K15mongod
lrwxrwxrwx. 1 root root 16 8月 4 11:33 2015 K15mongod -> ../init.d/mongod
■ /etc/rc.d/rc4.d/S85mongod
lrwxrwxrwx. 1 root root 16 8月 5 00:20 2015 S85mongod -> ../init.d/mongod
■ /etc/rc.d/rc5.d/S85mongod
lrwxrwxrwx. 1 root root 16 8月 5 00:20 2015 S85mongod -> ../init.d/mongod
■ /etc/rc.d/rc5.d/S85mongod
lrwxrwxrwx. 1 root root 16 8月 5 00:20 2015 S85mongod -> ../init.d/mongod
■ /etc/rc.d/rc3.d/S85mongod
lrwxrwxrwx. 1 root root 16 8月 5 00:20 2015 S85mongod -> ../init.d/mongod
■ /etc/rc.d/rc6.d/K15mongod
lrwxrwxrwx. 1 root root 16 8月 4 11:33 2015 K15mongod -> ../init.d/mongod
■ /etc/sysconfig/mongod
-rw-r--r--. 1 root root 47 5月 19 17:25 2015 mongod
SELinux
$ setenforce 0
setenforce: SELinux is disabled
$ service mongod start
Starting mongod: about to fork child process, waiting until server is ready for connections.
forked process: 3806
ERROR: child process failed, exited with error number 1
[失敗]