[解決済み] ロックファイルを作成/開くことができません。/data/mongod.lock errno:13 パーミッションが拒否されました。
2022-04-22 03:23:27
質問
ec2上のマウントされたドライブをmongoに使用させるにはどうしたらいいですか? 私は本当に理解していません。 ec2上のボリュームをrootでフォーマットし、rootで起動したのに、rootでアクセスできないのですか? 私はubuntu 12.04で実行しています。 他のmongoは起動していません。
mongoは/dataに'db'ディレクトリ、つまり/data/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
解決方法は?
私はUbuntuのec2インスタンスで同じ問題を抱えていました。私はこのamazonの記事の7ページ目に沿っていました。
http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf
のMongodbパス
/etc/mongodb.conf
が設定されていました。
/var/lib/mongodb
(主なインストール先で動作中)。に変更したところ
/data/db
(EBSボリューム) 'errno:13 Permission denied'が表示されました。
-
まず、以下を実行しました。
sudo service mongodb stop
. -
それから、私は
ls -la
に割り当てられているグループ & オーナー mongodb を確認するためです。/var/lib/mongodb
(既存のパス)を変更し/data/db
(新しいパス)をchown
とchgrp
をマッチングさせます。(例sudo chown -R mongodb:mongodb /data/db
) -
その後、パスを更新して
etc/mongodb.conf
から/data/db
にある古い mongo ファイルを削除し/var/lib/mongodb
ディレクトリに移動します。 -
その後、私は
sudo service mongodb start
を実行し、1分ほど待ちました。すぐに27017に接続しようとすると、できません。 -
1分後の確認
/data/db
(EBSボリューム)とmongoはジャーナル、mongod.lock、local.ns、local.0などを配置するはずです。そうでない場合はsudo service mongodb restart
を実行し、1分後に確認してください。
これで1時間以上費やしてしまいました。グループを変更し、古いファイルを削除する必要はないでしょうが、私にはこれが効果的でした。
これは、ec2インスタンスにebsボリュームをマウントするための素晴らしいビデオです。
関連
-
Centos8でMongoDBをインストールする詳細な手順
-
MongoDBデータベース操作のための10の共通コマンド
-
MongoDBの共通データ型と基本操作
-
MongoDBデータベースのインストールとデプロイメント、および警告の最適化
-
[解決済み] MongoDB コレクションのオブジェクト配列で、問い合わせた要素のみを取得する
-
[解決済み] MongoDB がすべてのクエリをログに記録する
-
[解決済み] MongoDBと「結合」 [重複]について
-
[解決済み] ひとつの MongoDB ドキュメントの _id を更新するには?
-
[解決済み] CAPの定理でmongodbはどこに位置するのか?
-
[解決済み] MongoDBのトランザクション不足を回避する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
macシステムでのmongoDBデータベースのインストールと設定
-
MongoDBのインデックスを簡単に理解するために
-
MongoDBユーザー関連操作
-
MongoDB mongoexportツールの使い方入門
-
Mongodbの包括的なまとめ
-
[解決済み] mongodb は複数のフィールドで値をグループ化します。
-
[解決済み] MongoDBとその逆の上にCouchDBを使用するとき
-
[解決済み] コマンド1つでmongo DBを停止する方法
-
[解決済み] ひとつの MongoDB ドキュメントの _id を更新するには?
-
[解決済み] リレーショナルデータベースではなく、NoSQLデータベースを使用する必要があるのはどのような場合ですか?同じサイトで両方使っても問題ないですか?