如果我尝试使用systemctl restart mongod
来启动mongod错误,那么我将无法启动mongo db服务
mongod.service的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参见“ systemctl status mongod.service”和“ journalctl -xe”。
日志:vi /var/log/mongo/mongod.log
在日志文件中,如果我看到以下消息,则表明端口已在使用中
indAndlisten std :: exception中的exception:侦听:地址已在使用中,正在终止
netstat -apt| grep "27017"
没有进程ID。
我没有任何解决方案,将非常感谢您的帮助。谢谢。
答案 0 :(得分:0)
尝试在不同端口和不同数据目录下启动mongodb可能会有所帮助,请使用以下命令从不同端口和不同数据目录下启动
mongod --port 27027 --dbpath </path/to/your/data/directory>
如果该工作正常,则某些进程可能正在使用27017,或者您可能在后台运行mongod,因此请首先检查进程ID并按如下所示手动将其杀死
ps -Aef | grep 27017
或
ps -Aef | grep mongod
找到进程ID并杀死它
sudo kill -9 <processId>
然后尝试按自己的方式重新启动它:
systemctl restart mongod
或:
/etc/init.d/mongodb restart
希望这对您有所帮助。
答案 1 :(得分:0)
一个问题是MongoDB使用的锁定文件可能具有错误的所有权: -rw-r--r-- 1 root root 0 Mar 16 02:27 /var/lib/mongo/mongod.lock
建议您简单地删除它,这将使MongoDB可以正确地重新创建它。该文件仅在MongoDB当前正在运行时才需要,并且理想情况下该文件也应该在正在运行时才存在,因为该文件仅包含运行MongoDB的当前进程ID的副本。
第二个问题是配置文件本身:/etc/mongod.conf。 MongoDB希望文件采用YAML格式,这显然与空格有关。我已经共享了在我们服务器上工作的示例配置文件。
基本上,每个缩进应在其父指令下的任何指令中使用两个空格。
附加说明:
例如,“ net:”标题没有缩进,因为它是其配置层的顶层,因为“ port:”和“ bindIp:”各自缩进2个空格,因为“ net:”是其父指令。 “ ssl:”伪指令也缩进了两个空格,因为其父代是“ net:”,但是由于“ mode:”,“ CAFile:”和“ PEMKeyFile:”都属于“ ssl:”,因此它们在其下方每个都增加2个空格以进一步缩进,总共4个空格。
最后,以下mongo重新启动将起作用:
systemctl restart mongod
或
systemctl restart mongod.service
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
ssl:
mode: preferSSL
CAFile: /etc/ssl/mongodb/RootCA/root-ca.pem
PEMKeyFile: /etc/ssl/mongodb/host.omkieitsolutions.com.pem
security:
authorization: enabled
clusterAuthMode: keyFile
#operationProfiling:
#replication:
"/etc/mongod.conf" 50L, 990C