MongoDBを導入していざ「Mongod」で起動した際の話です。
Failed to set up listener: SocketException: Address already in use
のエラー。そしてそのあとに
shutting down with code:48
!?シャットダウンされてますやん。
ということで「Failed to set up listener: SocketException: Address already in use」を解決してみました。
Macユーザーの方は参考にしてみてください。
Failed to set up listener: SocketException: Address already in useの対処法
このエラーメッセージの指す意味は
Mongodがもう使われちゃってるよ。という意味です。
なので現在使われているMongodを停止してしまえばだいじょうぶです。
ターミナルにいって
sudo lsof -iTCP -sTCP:LISTEN -n -P
と打ち込み、パスワードを入力します。
そうすると
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
という表が出てきます。
そこにあるMongodが既に使われているMongodです。
ターミナルで
Kill MongodのPID番号 (例) Mongod 342
を実行してください。
その後、再びMongodを実行すれば
「Failed to set up listener: SocketException: Address already in use」
は解決されているはずです。
覚えておくと便利ですよ!
ちなみにMongoDBを扱うコマンドにMongodとMongoがあります。
それぞれの違いはなに?と思うかもしれません。
前者はMongoDBのホストプロセス(MongoDBを使うための接続プログラム)
後者は実際のMongoDB内のデータを扱うためのものというイメージを持つといいと思います。
2つでMongoDBを使う環境ができると思えばOKです!
まとめ
・Failed to set up listener: SocketException: Address already in useが出た時は現在のMongodを停止してみること
・MongodはMongoDBを動かすためのプログラムを起動させるコマンド
・Mongoは実際のデータを扱うためのコマンド