2017-02-08 5 views
0

Mongodb 3.2に関連する記事がいくつかありますが、3.4をインストールしようとすると起動が発生しません。代わりに、異常なエラーがログファイルに表示されます(リストの最後に表示されます)。 これはおそらく、古いバージョンがインストールされているためですか? 私はapt-getを削除してパージしました。 誰かがエラーが表示される理由を提案できますか? hereを概説として Mongodb 3.4 for 64bit Ubuntu 16.04 mongodb-27017.sock ERROR

私は、あなただけの sockファイルを削除するか、この問題を解決するには、このコマンドを実行することができますuser.Soのmongodプロセスがrootによって開始されたことを意味し

$ sudo apt-get remove mongodb* 
$ sudo apt-get purge mongodb* 
$ sudo rm -rf /usr/lib/mongodb 
$ sudo rm -rf /usr/log/mongodb 
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 
$ echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list 
$ sudo apt-get update 
$ sudo apt-get install -y mongodb-org 
.. 
.. 
E: There were unauthenticated packages and -y was used without --allow-unauthenticated 

$ sudo apt-get install mongodb-org # removed -y to get it going 
.. 
.. 


Setting up mongodb-org (3.4.2) ... 
$ sudo chown -R mongodb:mongodb /var/log/mongodb 
$ sudo chown -R mongodb:mongodb /var/lib/mongodb # modified ownership in view of what is stated on the mongodb installation note 

$ # created the following file 
$ cat /etc/systemd/system/mongod.service 
[Unit] 
Description=MongoDB Database Service 3.4 
Wants=network.target 
After=network.target 

[Service] 
User=mongodb 
Group=mongodb 
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf 
StandardOutput=syslog 
StandardError=syslog 

[Install] 
WantedBy=multi-user.target 

# startup 
$ sudo systemctl daemon-reload 
$ sudo service mongod start 

# nothing happens, I then viewed the log file and the following error appears: 
$ cat /var/log/mongodb/mongod.log 
2017-02-08T22:08:26.155+0000 I CONTROL [main] ***** SERVER RESTARTED ***** 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] MongoDB starting : pid=11384 port=27017 dbpath=/var/lib/mongodb 64-bit host=12g 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] db version v3.4.2 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] allocator: tcmalloc 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] modules: none 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] build environment: 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten]  distmod: ubuntu1604 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten]  distarch: x86_64 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten]  target_arch: x86_64 
2017-02-08T22:08:26.159+0000 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log", quiet: true } } 
2017-02-08T22:08:26.178+0000 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted 
+0

私は靴下のファイルの所有権を変更しました。再起動すると、ログファイルは次のようになります。 '2017-02-08T22:54:13.414 + 0000 I NETWORK [thread1]がポート27017で接続を待っています。しかし、サービスは開始されていません。 – alortimor

答えて

0

@mcgraddy、ありがとう、それは確かに役に立ちました。ディレクトリの作成とサービスファイルのコピーが答えでした。

$ sudo cp /etc/systemd/system/mongod.service /etc/systemd/system/mongodb.service 

$ sudo mkdir -p /data/db 
$ sudo chown -R $USER:$USER /data 

私は/ dataの所有権を変更する必要がありました。 MongoDBのを/ tmp/MongoDBの-27017.sock`: サービスを開始し、ステータスを表示すると、すべてが期待どおりに動作しているを示しています。 `$ sudoのchownコマンドMongoDBは、次のように

$ sudo service mongod start 
$ sudo systemctl status mongodb 
● mongodb.service - MongoDB Database Service 
    Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: 
    Active: active (running) since Thu 2017-02-09 13:26:07 GMT; 9min ago 
Main PID: 1184 (mongod) 
    CGroup: /system.slice/mongodb.service 
      └─1184 /usr/bin/mongod --quiet --config /etc/mongod.conf 

Feb 09 13:26:07 systemd[1]: Started MongoDB Database Service. 
1
Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted 

を、以下の手順に従っ問題:

sudo chown `whoami` /tmp/mongodb-*.sock 

あなたがニーズを割り当てるポートがアクセス可能で、ファイアウォールでブロックされていないことが、その後、ちょうど月を再起動することを確認します神プロセス。

コンソール出力の接続待ちメッセージは、 で、mongod.exeプロセスが正常に実行されていることを示しています。

​​をチェックアウトできます。

これが役に立ちます。

+0

提案してくれてありがとうございましたが、あなたが言及したように、ログの末尾にある 'I NETWORK [thread1]がポート27017の接続を待っているのを見ていますが、' sudo systemctl status mongodb'を実行すると 'mongodb 'と表示されます。サービス ロード済み:見つからない(理由:そのようなファイルまたはディレクトリがありません) アクティブ:非アクティブ(死んでいます)。インストールに問題がないので、どのファイルを参照しているかをお聞かせください。 – alortimor

+1

@アルコルモール。あなたの設定ファイルをチェックし、 '/ data/db'フォルダを作り、' systemctl enable mongod.service'を実行してください – McGrady