Rocket.Chat uses the to improve performance via Meteor Oplog tailing.
To configure the replica set add this section into mongod.conf
:
for example by running this command:
Restart MongoDB service:
Start the MongoDB shell and initiate the replica set:
The output of the command should look like this:
Note the "ok" value should be 1. Any other value, i.e. 93, means something is wrong.
Hit enter, you should see your prompt turn into rs01:PRIMARY>
, this indicates the replica set is being used. Type exit to get back to your regular shell:
Depending on your network settings, including /etc/hosts and DNS, if you have configured Rocket.Chat to use localhost:27017 you may see an error similar to this:
[conn1] created this configuration for initiation : { _id: "rs0", version: 1, members: [ { _id: 0, host: "test:27017" } ] }
rs.initiate() may be defaulting to the host name e.g. 'test'
You can force a different hostname as follows:
You should get a response similar to:
After you configured the replica set, you MUST add the MONGO_OPLOG_URL
environment variable to the service definition and restart Rocket.Chat server.
In CentOS open file /usr/lib/systemd/system/rocketchat.service
In Ubuntu or Debian open file /lib/systemd/system/rocketchat.service
and add this to the Environment line:
Reload systemd state and restart Rocket.Chat: