我想将mongoDB作为服务运行。该实例应配置为单节点复制集,以便能够使用the connector将elasticSearch实例连接到该实例。
所以我扩展了mongod.conf:
...
replication:
replSetName: "singleNodeRepl"
...
我尝试了不同的方法来启动mongod,但没有任何作用。
当我尝试按$ service mongod start
启动服务时,会抛出以下错误:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.106" (uid=1225 pid=26018 comm="start mongod ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
当我以sudo
执行此命令时(不是最佳实践,对吗?),显示其“正在运行”并显示以下消息:
mongod start/running, process 26034
但是过程26034不存在而且ps aux | grep mongo
也没有显示任何内容?!
接下来尝试:将其作为普通应用程序运行
mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
以下是例外情况:
2016-04-08T14:31:35.192+0200 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2016-04-08T14:31:35.192+0200 I CONTROL [initandlisten] dbexit: rc: 100
当我运行~$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl
时,一切都很好,但那不是我的目标:它不是作为服务运行而是以root身份运行。
mongod-logfile经常保持不变。但最后几行很好奇:
2016-04-08T14:24:56.242+0200 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-04-08T14:24:56.242+0200 I - [initandlisten] Fatal Assertion 28578
2016-04-08T14:24:56.242+0200 I - [initandlisten]
***aborting after fassert() failure
存在mongodb-27017.sock,但删除(在任何地方建议的内容)没有帮助。
基于tried几个solutions上面的错误,但没有任何帮助。
我认为这是一个非常简单的错误......但是哪一个?
[编辑:] 我发现,我或许应该指定config-location。所以(工作但很糟糕)命令看起来像:
$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl --config /etc/mongod.conf
这会带来以下错误:
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
这是一个古老的东西,这是this problem的解决方案,突然不再起作用了!?
答案 0 :(得分:0)
我遇到了停止和启动mongod作为服务的问题。事实证明,升级脚本存在问题。 我发现这discussion似乎解决了这个问题。
建议的解决方案非常多:(现在复制粘贴)
vim /etc/init.d/mongod
查找stop()函数(和start()函数以获得良好的度量)并删除以下行中$ PIDFILE周围的引号。
killproc -p $PIDFILE -d 300 /usr/bin/mongod
答案 1 :(得分:0)
这样做:
sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo service mongodb start
如果这不起作用,请告诉我!