192

ec2にマウントされたドライブをmongoで使用するにはどうすればよいですか?本当にわかりません。ドライブをrootとしてフォーマットしたec2にボリュームを接続し、rootとして開始しましたが、rootとしてアクセスできませんか?私はubuntu12.04で実行しています。他のmongoは実行されていません

mongoが/data、つまり/ data/dbに「db」ディレクトリを作成したことがわかります

cd /
ls -al
drwxr-xr-x  4 root root  4096 Mar  5 16:28 data

cd /data
ls -al
total 28
drwxr-xr-x  4 root root  4096 Mar  5 16:28 .
drwxr-xr-x 24 root root  4096 Mar  5 16:28 ..
drwxr-xr-x  2 root root  4096 Mar  5 16:28 db
drwx------  2 root root 16384 Mar  5 16:20 lost+found


sudo mkfs.ext3 /dev/xvdh
sudo mkdir /data
sudo su - -c 'echo "/dev/xvdh %s auto noatime 0 0" | sudo tee -a /etc/fstab'
sudo mount /data

sudo service mongodb start
mongodb start/running, process 17169

sudo ps -ef | grep mongod
ubuntu   15763 15634  0 16:32 pts/2    00:00:00 tail -f mongodb.log
ubuntu   18049 15766  0 16:43 pts/3    00:00:00 grep --color=auto mongod


Tue Mar  5 16:33:15 [initandlisten] MongoDB starting : pid=15890 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar  5 16:33:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar  5 16:33:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar  5 16:33:15 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Mar  5 16:33:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar  5 16:33:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar  5 16:33:15 dbexit: 
Tue Mar  5 16:33:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar  5 16:33:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar  5 16:33:15 [initandlisten] shutdown: going to close sockets...
Tue Mar  5 16:33:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar  5 16:33:15 [initandlisten] shutdown: lock for final commit...
Tue Mar  5 16:33:15 [initandlisten] shutdown: final commit...
Tue Mar  5 16:33:15 [initandlisten] shutdown: closing all files...
Tue Mar  5 16:33:15 [initandlisten] closeAllFiles() finished
Tue Mar  5 16:33:15 [initandlisten] shutdown: removing fs lock...
Tue Mar  5 16:33:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar  5 16:33:15 dbexit: really exiting now

以下は、ロックファイルを削除したときに再起動した場合です。

Tue Mar  5 16:59:15 [initandlisten] MongoDB starting : pid=21091 port=27017 dbpath=/data 64-bit host=aws-mongo-server-east-staging-20130305161917
Tue Mar  5 16:59:15 [initandlisten] db version v2.2.3, pdfile version 4.5
Tue Mar  5 16:59:15 [initandlisten] git version: f570771a5d8a3846eb7586eaffcf4c2f4a96bf08
Tue Mar  5 16:59:15 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Tue Mar  5 16:59:15 [initandlisten] options: { bind_ip: "10.157.60.27", config: "/etc/mongodb.conf", dbpath: "/data", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", replSet: "heythat" }
Tue Mar  5 16:59:15 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Tue Mar  5 16:59:15 dbexit: 
Tue Mar  5 16:59:15 [initandlisten] shutdown: going to close listening sockets...
Tue Mar  5 16:59:15 [initandlisten] shutdown: going to flush diaglog...
Tue Mar  5 16:59:15 [initandlisten] shutdown: going to close sockets...
Tue Mar  5 16:59:15 [initandlisten] shutdown: waiting for fs preallocator...
Tue Mar  5 16:59:15 [initandlisten] shutdown: lock for final commit...
Tue Mar  5 16:59:15 [initandlisten] shutdown: final commit...
Tue Mar  5 16:59:15 [initandlisten] shutdown: closing all files...
Tue Mar  5 16:59:15 [initandlisten] closeAllFiles() finished
Tue Mar  5 16:59:15 [initandlisten] shutdown: removing fs lock...
Tue Mar  5 16:59:15 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Tue Mar  5 16:59:15 dbexit: really exiting now
4

28 に答える 28

484

この方法を使用して問題を解決します。

sudo chown -R mongodb:mongodb /data/db
于 2014-03-25T00:59:30.063 に答える
122

Ubuntu ec2 インスタンスでも同じ問題が発生していました。私は7ページにあるこのAmazonの記事をフォローしていました:

http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf

Mongodb パスは(プライマリ インストール場所と作業中)/etc/mongodb.confに設定されました。/var/lib/mongodb(EBS ボリューム)に変更すると/data/db、「errno:13 Permission denied」が表示されました。

  1. まず走っsudo service mongodb stopた。
  2. 次にls -la、どのグループと所有者のmongodbが/var/lib/mongodb(既存のパス)に割り当てられているかを確認し、/data/db(新しいパス)を変更chownchgrpて一致させました。(例: sudo chown -R mongodb:mongodb /data/db)
  3. 次に、パスを更新し、etc/mongodb.confディレクトリ/data/db内の古い mongo ファイルを削除しました/var/lib/mongodb
  4. それから私は走っsudo service mongodb startて約1分待った。すぐに 27017 に接続しようとしても接続できません。
  5. 1 分のチェック/data/db(EBS ボリューム) の後、mongo はジャーナル、mongod.lock、local.ns、local.0 などを配置する必要があります。そうでない場合はsudo service mongodb restart、1 分後に試してチェックしてください。

私はこれで1時間以上過ごしました。グループを変更して古いファイルを削除することはおそらく必要ありませんが、それが私にとってはうまくいきました。

これは、ec2 インスタンスへの ebs ボリュームのマウントに関する素晴らしいビデオです。

http://www.youtube.com/watch?v=gBII3o3BofU

于 2013-04-12T22:43:31.057 に答える
84

私の場合 (AWS EC2 インスタンス、Ubuntu) が役に立ちました:

$ sudo mkdir -p /data/db/
$ sudo chown `USERNAME` /data/db

その後、すべてがうまくいきました。

于 2013-06-28T14:42:04.990 に答える
12

このチュートリアルに従って、Ubuntu 14.04 を使用する EC2 に EBS を使用して mongodb をインストールしました。

http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

しかし、提案された chown の代わりに、私は次のようにしました。

sudo chown -R mongodb:mongodb /data /log /journal

問題を解決するには

于 2014-11-28T12:03:27.267 に答える
5

私の場合、mongodb.lock ファイルの削除は問題ではありませんでした。私はそうしましたが、使用中のポートに関するエラーが発生しました: [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017. ここで別の解決策を見つけました:プロセスを強制終了する指示でmongodbローカルサーバーを起動できません:

  1. mongodb ポート (27017) を実行しているプロセスを netstat から調べる

    sudo netstat -tulpn | grep :27017

    出力は次のようになります: tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1412/mongod

  2. 適切なプロセスを強制終了します。

    sudo kill 1412(1412 をステップ 1 で見つけたプロセス ID に置き換えます)

そして、mongodbを再び正常に起動できました。私はまだ不適切なシャットダウンから実行されていたと思います。

于 2014-09-04T13:45:14.637 に答える
1

mongod を殺した後、同じ問題が発生しました。mongod を起動できませんでした。

$> sudo kill `pidof mongod`

2015-08-03T05:58:41.339+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/mongodbtest/replset/data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

ロックを直接削除した後、mongod プロセスを再起動できます。

$>  rm -rf /data/mongodbtest/replset/data/mongod.lock
于 2015-08-03T06:08:52.407 に答える
1

私の場合、ログファイルを削除することで問題は解決しました。

sudo rm /log/mongod.log

エラーメッセージは特にロックファイルに言及していますが:

exception in initAndListen: 10309 Unable to create/open lock file: 
/data/mongod.lock errno:13 Permission denied 
Is a mongod instance already running?, terminating
于 2014-09-29T20:05:30.983 に答える
1

これは私が問題を解決するためにしたことです:

$sudo mkdir -p /data/db

$export PATH=/usr/local/Cellar/mongodb/3.0.7/bin:$PATH

$sudo chown -R id -u/data/db

そしてmongoを起動します...

$mongod

于 2015-11-20T02:11:30.853 に答える
1

setenforce 0Mongo 2.2.4 インスタンスを搭載した Fedora 18 では、root として呼び出して SELinux を無効にすることで、同様のエラーを回避できました。

ところで、これは Amazon EC2 インスタンスではなく企業環境でしたが、症状は似ていました。

于 2013-07-19T13:08:51.387 に答える
0

Windows では、コンソールが aministrator として開始されていることを確認してください

于 2016-08-29T08:49:27.033 に答える
0

ls -la/var/log/mongodb のユーザーとグループを知るために行います。次に、sudo chown -R user:group /data/db 実行しますsudo service mongodb start。でステータスを確認sudo service mongodb status

于 2016-08-01T17:58:32.123 に答える