2016-04-08 7 views
1

mongoDBをサービスとして実行したいと思います。インスタンスは、the connectorを使用してelasticSearchインスタンスをインスタンスに接続できるように、単一ノードレプリカセットとして構成されます。mongoDBをサービスとして起動できません

だから私は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 

次の例外が示されている通常のアプリケーションとしてそれを実行します。私は~$ sudo 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 

すべては大丈夫ですが、私の目標ではないthatsの:そのが実行されていませんがサービスとして、ルートとして実行されます。

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 serveral solutionsの場合は上記のエラーに基づいていますが、何も役立ちません。

私はそれは非常に単純な間違いだと思います...でもどちらか?

[編集:] 私は、おそらくconfig-locationを指定しているはずであることを発見しました。だから、(作業悪い)コマンドは次のようになります。

$ sudo mongod --dbpath /var/lib/mongodb/ --replSet SingleNodeRepl --config /etc/mongod.conf 

これは、次のエラーもたらします:this problemのためのソリューションだったと、突然、もはや動作しない古いもの、ザッツ

warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default 

を!

+0

ログに、ロックファイルを作成または開くことができなかったことが気付きました。ユーザー権限の問題ですか? ''/var/lib/mongodb/''に対するパーミッションは何ですか? –

+0

'rwxr-xr-x 4 mongodb mongodb 4096 Apr 8 14:31 mongodb' – MUmla

+0

.sockファイルと.lockファイルの両方を削除しようとしましたか? –

答えて

0

mongodを停止してサービスとして開始する際に問題が発生しました。 Upsartスクリプトに問題があったことが判明しました。 これを見つけたのはこれを修正したようなdiscussionです。

提案された解決策はかなりだった。(今コピー&ペースト)ストップ()関数の

vim /etc/init.d/mongod

見た目(と)(良い測定のための機能を開始)し、次の$ PIDFILE前後に引用符を削除ライン。

killproc -p $PIDFILE -d 300 /usr/bin/mongod

+0

興味深い。私のマシンで/etc/init.d/にmongodがありませんか? しかし、私はインストール中にここに記載されているすべての作業を行っています(https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu)。 もちろん!これは、init.dからSysVへのubuntuの切り替えと関係がある!調査中... – MUmla

+0

ここでこの問題が発生する可能性があります: http://stackoverflow.com/questions/10733201/mongodb-is-not-starting-in-ubuntu – MUmla

+0

ubuntuの指示に従い、 mongodファイルを取得できません。おそらく提案通りに作成してください。 –

0

これを行います。

sudo rm /var/lib/mongodb/mongod.lock 
mongod --repair 
sudo service mongodb start 

が、これは動作しない場合は、私に教えてください!

+0

私はこれを質問の中で述べたのと同じようにしています。 これを(正しいdbpathで)実行すると、次のエラーが発生します。 'initAndListenの例外:98ロックファイルを作成/開くことができません:/var/lib/mongodb/mongod.lock errno:13権限が拒否されましたmongodインスタンスです既に実行中ですか?終了します。しかし、mongod.lockは存在しません。クレイジー。 – MUmla