web-dev-qa-db-ja.com

MongoDB-code:100でシャットダウンする

私はUbuntu 16.04.2 LTS (GNU/Linux 4.4.0-22-generic x86_64) VPSでMongoDBをセットアップしようとしていましたが、いくつかの問題が発生しています。サーバーでrootアクセス権を持つユーザーとして実行していますが、rootアカウント自体は使用していません。

他のユーザーを追加できるようにadminデータベースでdb.createUser()を実行しているときに問題に気付き始め、次のエラーが発生しました:not authorized to execute command

それで私は次に、ウェブサイトで提供されているチュートリアルを使用してアンインストールと再インストールに進みました: https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/

ここで、ステージにいるとき2 MongoDBが正常に開始したことを確認するRun MongoDB Community Editionセクションで、ファイル/var/log/mongodb/mongod.logからの出力を見て、以下:

2017-04-14T14:23:09.309+0200 I CONTROL  [main] ***** SERVER RESTARTED *****
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] MongoDB starting : pid=9691 port=27017 dbpath=/var/lib/mongodb 64-bit Host=vps338741
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] db version v3.4.3
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] git version: f07437fb5a6cca07c10bafa78365456eb1d6d5e1
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] allocator: tcmalloc
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] modules: none
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten] build environment:
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten]     distmod: ubuntu1604
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten]     distarch: x86_64
2017-04-14T14:23:09.316+0200 I CONTROL  [initandlisten]     target_Arch: x86_64
2017-04-14T14:23:09.316+0200 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-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] 
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-04-14T14:23:09.349+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=464M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-04-14T14:23:09.366+0200 E STORAGE  [initandlisten] WiredTiger error (2) [1492172589:366629][9691:0x7f1755946cc0], file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.wt: handle-open: open: No such file or directory
2017-04-14T14:23:09.367+0200 I -        [initandlisten] Assertion: 28595:2: No such file or directory src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 267
2017-04-14T14:23:09.367+0200 I STORAGE  [initandlisten] exception in initAndListen: 28595 2: No such file or directory, terminating
2017-04-14T14:23:09.367+0200 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-04-14T14:23:09.367+0200 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2017-04-14T14:23:09.367+0200 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-04-14T14:23:09.367+0200 I CONTROL  [initandlisten] now exiting
2017-04-14T14:23:09.367+0200 I CONTROL  [initandlisten] shutting down with code:100

私は見回しましたが、同じエラーではありません ここにあります 。これは、私が持っている/data/dbフォルダがないという事実に関係しているためです。そのログから、次の行と関係があることがわかります。

2017-04-14T14:23:09.366+0200 E STORAGE  [initandlisten] WiredTiger error (2) [1492172589:366629][9691:0x7f1755946cc0], file:WiredTiger.wt, connection: /var/lib/mongodb/WiredTiger.wt: handle-open: open: No such file or directory

/var/lib/mongodbに移動してls -lを実行すると、次のような結果になります。

drwxr-xr-x 2 mongodb mongodb 4096 Apr 14 14:10 journal
-rw-r--r-- 1 mongodb mongodb    0 Apr 14 14:02 mongod.lock
-rw-r--r-- 1 mongodb mongodb    0 Apr 14 14:10 WiredTiger
-rw-r--r-- 1 mongodb mongodb   21 Apr 14 14:10 WiredTiger.lock
-rw-r--r-- 1 mongodb mongodb 1004 Apr 14 14:10 WiredTiger.turtle

しかし、他の場所ではこの問題が見られないため、手動でそのファイルを作成する必要があるかどうかはわかりません。私はmongodbユーザーにもこれらのファイルに対する権限があることを確認しました この質問への回答で ですが、まだ運がありません。

私は何をすべきかについて本当に途方に暮れています、これがそれを機能させる私の5回目の試みであるので、どんな助けも非常に高く評価されます!

ありがとう!

5
Alistair Hughes

これはMongoDBの既知のバグです。 report を確認してください

あなたの問題は、一般的にファイルが欠落しているということではなく、完全にシャットダウンした後に再起動するとファイルが欠落することです。問題は/data/dbディレクトリとは関係ありませんが、再起動後に見つからないWiredTiger.wtファイルに関係しています。

Oct 1 20:00:44 alpha mongod.27017 [1074]:[initandlisten] WiredTiger(2)[1443729644:306783] [1074:0x7fdba8fd4bc0]、file:WiredTiger.wt、connection:/data/db/WiredTiger.wt:そのようなファイル、又はディレクトリはありません

バグレポートは同じことについて語っています。

試してみてください:

設定ファイルでWiredTigerを無効にしてみることをお勧めします。

MongoDB構成オプション

WiredTiger

UPDATE:WiredTigerを無効にするには、mongo設定ファイルのstorage.engineオプションを変更する必要があります。デフォルトでは、mongodはWiredTigerを使用しますが、 InMemory[〜#〜]リンク[〜#〜]

3
Dusty Boshoff

mkdir -p /data/dbを作成した場合は、次のコマンドでサーバーを起動する必要がある可能性があります:Sudo mongod

macOS/OSX: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

14
rust

試してください:

須藤サービスmongod開始;

次に、mongodbを実行します。

モンゴ

6
M.Amer

このコマンドは私を助けました:

mongod --dbpath /data/db --repair
2
Mariana Lungu

ディレクトリを作る

Sudo mkdir/data/db

ディレクトリへのアクセスを提供する

Sudo chown -R $ USER/data/db

次に実行します

モンゴッド

ポートがすでに停止中のmongodを使用している場合、バックグラウンドで実行されている可能性があります

須藤サービスモンゴッドストップ

最終行が

ポート27017で接続を待機しています

その後、mongodは働いています

2
Anushil Kumar

私にとって「答え」は次のコマンドを実行することでした(service mongod startおよびmongodだけが失敗しました)

Sudo mongod --fork --port 27017 --replSet admin --logpath /data/log/mongo.log

有線タイガーをオフにする必要はありませんでした

0
user1709076