4

mongodb で 3 つのインスタンスのレプリカ セットを正常に作成しました。レプリカ セットの各メンバーは、構成ファイルを使用してインスタンス化されます。テストしたところ、すべてがうまくいき、エラーなしで正常に実行されました。

タイトルのエラーを生成している次のステップは、内部認証を有効にすることです。それを行うために、このページにあるmongoのドキュメントに従いました。

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

まず、以下の 2 行のコードを使用してキーファイルを生成しました

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

root にならないと実行できなかったので、root で実行しました。

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

# 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"

mongoを再び起動するために、私は毎回使用する次のコマンドを書きました

sudo mongod --config /etc/mongod1.config

上記のエラーが発生しました。すべてがルートによって所有されていることを確認しました。dbpath、設定ファイル、およびキーファイル。

次に、すべてを通常のユーザーが所有するように切り替え、通常のユーザーとして (sudo なしで) mongod を起動しようとしました。同じエラーを受け取りました。

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

4

1 に答える 1