概要
このドキュメントでは、CloudCenter Orchestrator(CCO)で「MongoDB not start」エラーをトラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、CloudCenterバージョン4.7.x/4.8.xに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
問題:「MongoDB not start」エラーが発生する
CCO の MongoDB を設定した後、MongoDB に正常に接続できない場合に、失敗する可能性があります。この問題は、多くの要因によって発生する可能性があります。ただし、前述のシナリオでは、MongoDBを起動するのに十分なハードディスク領域がCCOにありません。
この問題のトラブルシューティングを行うには、ログファイルを調べて、エラーの実際の原因を確認することをお勧めします。
CCOのSmosixログから、このエラーを見つけることができます。
INFO policy.GatewayPolicyServiceImpl Inject Context id org.springframework.web.context.WebApplicationContext: ,name Root WebApplicationContext
2017-05-22 06:58:17,077 ERROR context.ContextLoader [localhost-startStop-1] - Context initialization failed
com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector
. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception=
{com.mongodb.MongoSocketOpenException: Exception opening socket}
MongoDBサービスを開始しようとすると、このエラーが発生します。
service mongod start
エラーは
Job for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.
次のコマンドを実行します。
sudo systemctl status mongod.service
次のエラーが表示されます。
[root@localhost ~]# systemctl status mongod.service
● mongod.service - SYSV: Mongo is a scalable, document-oriented database.
Loaded: loaded (/etc/rc.d/init.d/mongod; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2017-06-23 06:07:56 UTC; 19h ago
Docs: man:systemd-sysv-generator(8)
Process: 2547 ExecStop=/etc/rc.d/init.d/mongod stop (code=exited, status=0/SUCCESS)
Process: 2588 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE)
Main PID: 2350 (code=exited, status=0/SUCCESS)
Jun 23 06:07:56 localhost.localdomain systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
Jun 23 06:07:56 localhost.localdomain runuser[2597]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
Jun 23 06:07:56 localhost.localdomain mongod[2588]: Starting mongod: [FAILED]
Jun 23 06:07:56 localhost.localdomain systemd[1]: mongod.service: control process exited, code=exited status=1
Jun 23 06:07:56 localhost.localdomain systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..
Jun 23 06:07:56 localhost.localdomain systemd[1]: Unit mongod.service entered failed state.
Jun 23 06:07:56 localhost.localdomain systemd[1]: mongod.service failed.
解決方法
MongoDBサービスを開始し、MongoDBログを確認してください。ログ/var/log/mongodb/mongod.logに次のエラーが記録されている場合があります。
2017-06-23T06:07:56.763+0000 [initandlisten] recover : no journal files present, no recovery needed
2017-06-23T06:07:56.763+0000 [initandlisten]
2017-06-23T06:07:56.763+0000 [initandlisten] ERROR: Insufficient free space for journal files
2017-06-23T06:07:56.764+0000 [initandlisten] Please make at least 3379MB available in /var/lib/mongo/journal or use --smallfiles
2017-06-23T06:07:56.764+0000 [initandlisten]
2017-06-23T06:07:56.809+0000 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2017-06-23T06:07:56.809+0000 [initandlisten] dbexit:
2017-06-23T06:07:56.809+0000 [initandlisten] shutdown: going to close listening sockets...
Mongoを開始するには、3gbのハードディスク空き領域が必要です。インスタンスを起動する前に、ハードディスクに十分な空き領域があることを確認する必要があり、MongoDBにはシステムの再起動が必要ですか?自動的に開始します。