2016-08-08 41 views
3

mongodbに3つのインスタンスの複製セットを正常に作成しました。レプリカセットの各メンバーは、設定ファイルを使用してインスタンス化されます。私はそれをテストしたところ、すべてうまくいって、何のエラーもなく正常に実行されました。mongo:エラー:子プロセスがエラー番号100で終了しました

タイトルにエラーを生成する次のステップは、内部認証を有効にすることです。私はこのページに見出さMongoのマニュアルに従った、ことを行うために:

[A] https://docs.mongodb.com/v3.0/tutorial/enable-internal-authentication/

まず、私はcouldn

openssl rand -base64 755 > <path-to-keyfile> 
chmod 400 <path-to-keyfile> 

以下の2行のコードを使用してキーファイルを生成しました私はそれを根を使ってやったので、根を使わずに線を抜きます。

次に、インスタンスの設定ファイル内にキーファイルを追加しました。今

# Where and how to store data. 
storage: 
    dbPath: /mon/data1/ 
journal: 
    enabled: true 
#engine: 
#mmapv1: 
#wiredTiger: 

#where to write logging data. 
systemLog: 
    destination: file 
    logAppend: true 
    path: /var/log/mongodb/mongod1.log 

#network interfaces 
net: 
    port: 27018 
    bindIp: 127.0.0.1 

processManagement: 
    fork: true 

security: 
    keyFile: /etc/keyFiles 

replication: 
    replSetName: "myRepl" 

再びモンゴを開始するために、私は

sudo mongod --config /etc/mongod1.config 

毎回使用し、次のコマンドを、書いて、私は上記のエラーを得ました。私はすべてがrootによって所有されていることを確認しました。 dbpath、構成ファイル、およびキー・ファイルが含まれています。

その後、私はすべてを普通のユーザーが所有するように切り替えました。私は普通のユーザー(sudoなし)としてmongodを起動しようとしました。同じエラーが発生しました。

解決策は何と思いますか?

+0

あなたのmongoログを投稿することができますか? – sergiuz

+0

mongodのログファイルを見て、投稿に関連するメッセージを追加してください。 – helmy

答えて

0

通常、ログファイルは何が間違っているかを示しています...しかし、ほとんど変更を加えることはできません。 入れ ""(のようなダウンここでは)丸い文字列と追加pidFilePath: フォーク::真 pidFilePath:processManagement

"" /var/run/mongodb/mongod.pid

(もちろんのこと「monogdb 'ディレクトリはあなたが使用しているもので所有していなければなりません)

次に、これらの設定ファイルの値をパラメータ(と--fork)に入れて、エラーメッセージを返します。間違えた。

のmongod --dbpath /月/ DATA1/--logpath /var/log/mongodb/mongod1.log --logappend --keyfileの/ etc /キーファイル--replSet myRepl

関連する問題