5

私はこれを試しています:

mongod --replSet mySet --dbpath / data / r1 --port 27017 --oplogSize 700

mongod --replSet mySet --dbpath / data / r2 --port 27018 --oplogSize 700

mongod --replSet mySet --dbpath / data / r3 --port 27019 --oplogSize 700

その後、新しいターミナルで:

/mongo --port 27017
MongoDB shell version: 2.0.2
connecting to: 127.0.0.1:27017/test 

> cfg = {

    _id : "mySet",
    members : [
    { _id : 0, host : "localhost:27017" },
    { _id : 1, host : "localhost:27018" },
    { _id : 2, host : "localhost:27019" } ] } 

そして私が走るとき

rs.initiate(cfg)

このエラーが発生しました:

{"errmsg": "サーバーは--replSetで実行されていません"、 "ok":0}

なぜこのエラーが発生するのですか?

ログファイルから:

Fri Jun 01 15:05:11 [initandlisten] MongoDB starting : pid=5236 port=27017 dbpath=c:\mongodb\data 64-bit host=mami
Fri Jun 01 15:05:11 [initandlisten] db version v2.0.4, pdfile version 4.5
Fri Jun 01 15:05:11 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Fri Jun 01 15:05:11 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_42
Fri Jun 01 15:05:11 [initandlisten] options: { dbpath: "c:\mongodb\data", logappend: true, logpath: "c:\mongodb\logs\logfilename.log", service: true }
Fri Jun 01 15:05:11 [initandlisten] journal dir=c:/mongodb/data/journal
Fri Jun 01 15:05:11 [initandlisten] recover : no journal files present, no recovery needed
Fri Jun 01 15:05:12 [initandlisten] waiting for connections on port 27017
Fri Jun 01 15:05:12 [websvr] admin web console waiting for connections on port 28017
Fri Jun 01 15:05:12 [initandlisten] connection accepted from 127.0.0.1:49663 #1
Fri Jun 01 15:05:56 [conn1] end connection 127.0.0.1:49663
Fri Jun 01 15:06:02 [initandlisten] connection accepted from 127.0.0.1:49669 #2
Fri Jun 01 15:06:11 [clientcursormon] mem (MB) res:22 virt:67 mapped:0
Fri Jun 01 15:06:19 [conn2] terminating, shutdown command received
Fri Jun 01 15:06:19 dbexit: shutdown called
Fri Jun 01 15:06:19 [conn2] shutdown: going to close listening sockets...
Fri Jun 01 15:06:19 [conn2] closing listening socket: 488
Fri Jun 01 15:06:19 [conn2] closing listening socket: 492
Fri Jun 01 15:06:19 [conn2] shutdown: going to flush diaglog...
Fri Jun 01 15:06:19 [conn2] shutdown: going to close sockets...
Fri Jun 01 15:06:19 [conn2] shutdown: waiting for fs preallocator...
Fri Jun 01 15:06:19 [conn2] shutdown: lock for final commit...
Fri Jun 01 15:06:19 [conn2] shutdown: final commit...
Fri Jun 01 15:06:19 [conn2] shutdown: closing all files...
Fri Jun 01 15:06:19 [conn2] closeAllFiles() finished
Fri Jun 01 15:06:19 [conn2] journalCleanup...
Fri Jun 01 15:06:19 [conn2] removeJournalFiles
Fri Jun 01 15:06:19 [conn2] shutdown: removing fs lock...
Fri Jun 01 15:06:19 dbexit: really exiting now


***** SERVER RESTARTED *****


Fri Jun 01 15:06:19 [initandlisten] MongoDB starting : pid=6980 port=27017 dbpath=c:\mongodb\data 64-bit host=mami
Fri Jun 01 15:06:19 [initandlisten] db version v2.0.4, pdfile version 4.5
Fri Jun 01 15:06:19 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Fri Jun 01 15:06:19 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_42
Fri Jun 01 15:06:19 [initandlisten] options: { dbpath: "c:\mongodb\data", logappend: true, logpath: "c:\mongodb\logs\logfilename.log", service: true }
Fri Jun 01 15:06:19 [initandlisten] journal dir=c:/mongodb/data/journal
Fri Jun 01 15:06:19 [initandlisten] recover : no journal files present, no recovery needed
Fri Jun 01 15:06:19 [initandlisten] waiting for connections on port 27017
Fri Jun 01 15:06:20 [websvr] admin web console waiting for connections on port 28017
Fri Jun 01 15:06:20 [initandlisten] connection accepted from 127.0.0.1:49678 #1
Fri Jun 01 15:06:22 [conn1] end connection 127.0.0.1:49678
Fri Jun 01 15:06:30 [initandlisten] connection accepted from 127.0.0.1:49679 #2
Fri Jun 01 15:06:36 [conn2] terminating, shutdown command received
Fri Jun 01 15:06:36 dbexit: shutdown called
Fri Jun 01 15:06:36 [conn2] shutdown: going to close listening sockets...
Fri Jun 01 15:06:36 [conn2] closing listening socket: 488
Fri Jun 01 15:06:36 [conn2] closing listening socket: 492
Fri Jun 01 15:06:36 [conn2] shutdown: going to flush diaglog...
Fri Jun 01 15:06:36 [conn2] shutdown: going to close sockets...
Fri Jun 01 15:06:36 [conn2] shutdown: waiting for fs preallocator...
Fri Jun 01 15:06:36 [conn2] shutdown: lock for final commit...
Fri Jun 01 15:06:36 [conn2] shutdown: final commit...
Fri Jun 01 15:06:36 [conn2] shutdown: closing all files...
Fri Jun 01 15:06:36 [conn2] closeAllFiles() finished
Fri Jun 01 15:06:36 [conn2] journalCleanup...
Fri Jun 01 15:06:37 [conn2] removeJournalFiles
Fri Jun 01 15:06:37 [conn2] shutdown: removing fs lock...
Fri Jun 01 15:06:37 dbexit: really exiting now


***** SERVER RESTARTED *****


Fri Jun 01 15:06:37 [initandlisten] MongoDB starting : pid=7076 port=27017 dbpath=c:\mongodb\data 64-bit host=mami
Fri Jun 01 15:06:37 [initandlisten] db version v2.0.4, pdfile version 4.5
Fri Jun 01 15:06:37 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Fri Jun 01 15:06:37 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_42
Fri Jun 01 15:06:37 [initandlisten] options: { dbpath: "c:\mongodb\data", logappend: true, logpath: "c:\mongodb\logs\logfilename.log", service: true }
Fri Jun 01 15:06:37 [initandlisten] journal dir=c:/mongodb/data/journal
Fri Jun 01 15:06:37 [initandlisten] recover : no journal files present, no recovery needed
Fri Jun 01 15:06:37 [initandlisten] waiting for connections on port 27017
Fri Jun 01 15:06:37 [websvr] admin web console waiting for connections on port 28017
Fri Jun 01 15:06:37 [initandlisten] connection accepted from 127.0.0.1:49680 #1
Fri Jun 01 15:06:39 [conn1] end connection 127.0.0.1:49680
Fri Jun 01 15:07:37 [clientcursormon] mem (MB) res:22 virt:66 mapped:0
Fri Jun 01 15:53:55 [clientcursormon] mem (MB) res:0 virt:64 mapped:0
Fri Jun 01 15:58:55 [clientcursormon] mem (MB) res:1 virt:64 mapped:0
Fri Jun 01 15:59:24 [initandlisten] connection accepted from 127.0.0.1:50087 #2
Fri Jun 01 15:59:55 [clientcursormon] mem (MB) res:2 virt:65 mapped:0
Fri Jun 01 16:04:55 [clientcursormon] mem (MB) res:2 virt:65 mapped:0
Fri Jun 01 16:06:07 [conn2] replSet replSetInitiate admin command received from client

このチュートリアルreplSetを試しましたが、まだ何もありません

4

7 に答える 7

17

--replSet私が考えることができる理由の1つは、ポート27017で開始する前に、引数なしですでにmongodが実行されていることです。ps aux |grep mongodこれを試す前に、mongodが実行されていないことを確認してください( )。また、レプリカセットモードで起動しなかった理由がわかる可能性があるため、ログファイルも調べます。

于 2012-05-30T10:13:44.030 に答える
2

これに対する簡単な解決策は、-replSetにサブ引数を指定することでした。

MongoサーバーをPRYMARYとして機能するため、ノードが1つだけのReplicaSetになるように構成します。目的を読み取るために、別のノードはありません。

これは、mongodサービスを実行するときに私を助けたものです。

/> sudo mongod --replSet myReplSet

mongoでログインすると、プロンプトが変更され、rsを正しく構成できます。

/ myReplSet:PRIMARY> cfg = {_id: "mySet"、members:[{_id:0、host: "localhost:27017"}]}

/ myReplSet:PRIMARY> rs.initiate(cfg)

そしてそれがトリックになりました!!

これが誰かに役立つことを願っています。

于 2013-10-16T18:44:50.933 に答える
1

上記の提案のように、Linuxのパーミッションの問題に気づきました。これを修正するには、データディレクトリコマンドにパーミッションを設定する必要がありますsudo chown -R $USER /data。npmでも同じ問題がありました。

于 2014-05-06T10:22:41.130 に答える
0

mongodbレプリケーションとシャーディングの宿題をしているときにまったく同じ問題が発生しました。次のコマンドを実行した直後:

./mongod --replSet m101 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

そしてps aux | grep mongoチェックをしてみると、実際には何も実行されていないことに気づきました。それを機能させるために私がしたことは、それらのコマンドをシステムルートとして実行することだったので、最後に次のようなmongodプロセスを実行します。

sudo ./mongod --replSet m101 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

それでした!:)

それが役に立てば幸い。

于 2014-01-02T16:20:09.877 に答える
0

私はなんとかこれを回避することができました。

  1. 私は最初にmongodbを削除しました:sudo apt-get remove mongodb

  2. 私はMongoDBチュートリアルに従いました:

  3. ただし、手順の後...:sudo apt-get update

  4. ... mongodbを再インストールすることにしました:sudo apt-get remove mongodb(このステップでは、おそらく「mongodb-server」を指定しました)。

そして、魔法のように、replSet名はmongodb.confからロードできました。私はrs.initiate()に任せられました-そしてそれだけです。

注:2.4.9から始めて、同じ2.4.9で終了しました。

于 2014-07-24T11:58:24.613 に答える
0

同じ問題があったので、私の場合、システムでもう1つのmongodプロセスが実行されていました(もちろん--replSet、デフォルトのポートでフラグなしで実行されていたため、このエラーが発生しました)。

コマンドを実行します:

$ ps aux | grep mongod

私の場合、それは出力しました:

root 63434 0.3 0.1 2621328 12228 ?? S 5:53PM 0:03.44 mongod --replSet m101 --logpath 1.log --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

root 63442 0.2 0.1 2622352 12220 ?? S 5:54PM 0:03.37 mongod --replSet m101 --logpath 2.log --dbpath /data/rs2 --port 27018 --smallfiles --oplogSize 64 --fork

root 63448 0.2 0.1 2621312 12208 ?? S 5:54PM 0:03.35 mongod --replSet m101 --logpath 3.log --dbpath /data/rs3 --port 27019 --smallfiles --oplogSize 64 --fork

pavlo 683 0.0 0.0 3082276 6628 ?? S 31Aug14 11:27.70 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf

pavlo 63522 0.0 0.0 2432784 624 s002 S+ 6:06PM 0:00.00 grep mongod

つまり、idを使用683したプロセスが進行中であったため、それを強制終了した後、すべてが機能します。

$ kill 683
于 2014-09-17T16:17:19.890 に答える
0

うん、ここ私のubuntu15.04でも同じです。そして、ポートを解決することによってそれを解決しました。また、ログをチェックして、実行ステータスがどのように機能しているかを知らせてください。

于 2015-07-06T10:21:20.310 に答える