Ubuntu에서 mongodb 데이터베이스를 사용하여 node.js 서버를 만들었습니다.
나는 mongodb를 다음과 같이 설치했다.공식 문서, 을 사용하여 upstart
.
오늘 아침, 내 노드 서버는 데이터베이스가 다운되었다는 충돌 로그와 함께 나를 깨웠습니다. 벌써 한 달 전에 이런 일이 일어났습니다.
그래서 상태를 확인해 보니
> service mongod status
mongod stop/waiting
다시 시작했는데 sudo service mongod start
문제가 해결되었습니다.
하지만 이제 이해하고 싶습니다. 왜 중단되었나요? 앞으로 이런 일이 다시 발생하지 않도록 하려면 어떻게 해야 할까요?
서버를 마지막으로 재부팅했는지 확인했습니다.
> uptime
09:28:52 up 139 days, 21:34, 1 user, load average: 0.00, 0.01, 0.05
좋습니다. 시스템 재부팅으로 인한 것이 아닙니다.
mongod 로그를 확인했습니다.
tail -500 /var/log/mongodb/mongod.log
그리고 오늘 아침까지의 재시작 로그를 볼 수 있었지만 오늘 밤과 관련된 것은 전혀 없었습니다!
저는 시스템 관리자 전문가가 아니며 내 문제를 더 잘 이해하기 위해 지금 무엇을 확인할 수 있는지 모르겠습니다. 누구든지 나를 도와줄 수 있나요?
편집: 의견에서 요청한 대로 내 시작 /etc/init/mongod.conf
파일은 다음과 같습니다.
# Ubuntu upstart file at /etc/init/mongod.conf
# Recommended ulimit values for mongod or mongos
# See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
#
limit fsize unlimited unlimited
limit cpu unlimited unlimited
limit as unlimited unlimited
limit nofile 64000 64000
limit rss unlimited unlimited
limit nproc 64000 64000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
DAEMONUSER=${DAEMONUSER:-mongodb}
if [ ! -d /var/lib/mongodb ]; then
mkdir -p /var/lib/mongodb && chown mongodb:mongodb /var/lib/mongodb
fi
if [ ! -d /var/log/mongodb ]; then
mkdir -p /var/log/mongodb && chown mongodb:mongodb /var/log/mongodb
fi
touch /var/run/mongodb.pid
chown $DAEMONUSER /var/run/mongodb.pid
end script
start on runlevel [2345]
stop on runlevel [06]
script
ENABLE_MONGOD="yes"
CONF=/etc/mongod.conf
DAEMON=/usr/bin/mongod
DAEMONUSER=${DAEMONUSER:-mongodb}
DAEMONGROUP=${DAEMONGROUP:-mongodb}
if [ -f /etc/default/mongod ]; then . /etc/default/mongod; fi
# Handle NUMA access to CPUs (SERVER-3574)
# This verifies the existence of numactl as well as testing that the command works
NUMACTL_ARGS="--interleave=all"
if which numactl >/dev/null 2>/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null 2>/dev/null
then
NUMACTL="$(which numactl) -- $NUMACTL_ARGS"
DAEMON_OPTS=${DAEMON_OPTS:-"--config $CONF"}
else
NUMACTL=""
DAEMON_OPTS="-- "${DAEMON_OPTS:-"--config $CONF"}
fi
if [ "x$ENABLE_MONGOD" = "xyes" ]
then
exec start-stop-daemon --start \
--chuid $DAEMONUSER:$DAEMONGROUP \
--pidfile /var/run/mongodb.pid \
--make-pidfile \
--exec $NUMACTL $DAEMON $DAEMON_OPTS
fi
end script