-
Notifications
You must be signed in to change notification settings - Fork 1.7k
DOCS-11064 - Shard and config servers must be replica set members. #3188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| :setting:`net.bindIp` setting). For more information, see | ||
| :ref:`3.6-bind_ip-compatibility`. | ||
| #. Start the |newversion| binary with the following required | ||
| options and any previously used optional command line options: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which options in the code block are required and which are optional? As only configsvr and replSet are required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. This section was flawed both technically (missing --replSet) and grammatically. I thought generalizing would be better than listing out all the options present in the example in the text, but managed to create a different issue.
I was going to rephrase with only --configsvr and --replSet as required, but also realized --bind_ip is pretty important so I ended up just listing the options.
Please let me know if you have any suggestions.
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
|
||
| Starting in MongoDB 3.6, :program:`mongod` instances with the shard or | ||
| config server role must be replica set members. The following procedure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe starting in 3.4, config servers had to be replica sets
https://docs.mongodb.com/manual/release-notes/3.4/#removal-of-support-for-sccc-config-servers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed with the assumption 3.4 config servers will already be running with replication. Alternatively, I could add a separate paragraph covering the 3.4 config server behavior.
| language: javascript | ||
| code: | | ||
| db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } ) | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just an fyi --
to make the code block copyable inside the yaml "action" block, you can just add a copyable: true
action:
copyable: true
language: blah
code:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reverted. Done.
ffa866a to
b80c95b
Compare
kay-kim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some small things
| Upgrade the shards one at a time. If the shards are replica sets, for each shard: | ||
| Upgrade the shards one at a time. If you are running standalone | ||
| shards, first convert them to a | ||
| :doc:`replica set</tutorial/convert-standalone-to-replica-set>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The location of this conversion seems not quite right. Since now, my config servers are already 3.6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, we mention standalone in
And, did you test whether if you had a standalone shard, that just changing to the repl set correctly updates the shard meta data held by the config servers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Sorry, I'm not sure I understand the first comment? Let's discuss tomorrow.
- Updated sh.addShard and the addShard dbcommand.
- I did not test the meta data scenario. I am not sure how to do this off the top of my head but can look into this tomorrow if needed.
| |newversion| binary: | ||
| <sharding.clusterRole>`, :setting:`replication.replSetName`, | ||
| :setting:`net.port`, and :setting:`net.bindIp` | ||
| then start the |newversion| binary: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably need a comma before the then
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| You must deploy shard servers as a replica set with the | ||
| :option:`--replSet` option specified. To deploy sharded clusters | ||
| with replication, follow the appropriate tutorial depending on your | ||
| :ref:`sharding strategy<sharding-strategy>`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this more To deploy sharded clusters with shard replica sets, ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good suggestion, thanks.
source/includes/options-mongod.yaml
Outdated
| .. versionchanged:: 3.6 | ||
| You must deploy shard servers as a replica set with the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shard servers -> shards
(since the individual servers are components of the repl set)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
source/includes/options-mongod.yaml
Outdated
| .. versionchanged:: 3.6 | ||
| You must deploy shard servers as a replica set with the | ||
| :option:`--replSet` option specified. To deploy sharded clusters |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well, I suppose I could also use the config file in which case, I don't need to specify --replSet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added the config file setting.
| - :doc:`/tutorial/deploy-sharded-cluster-hashed-sharding` | ||
| - :doc:`/tutorial/deploy-sharded-cluster-ranged-sharding` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also delete the standalone blurb on the tutorials (see end of section)
Each shard can be deployed as a replica set. (no longer can be -> must be)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. As for the sharded-cluster-components and sharded-cluster-shards, I used the "As of MongoDB 3.X, ..." Language. Is this ok or should I use .. versionchanged:: or none of that stuff?
| Upgrade the shards one at a time. If the shards are replica sets, for each shard: | ||
| Upgrade the shards one at a time. If you are running standalone | ||
| shards, first convert them to a | ||
| :doc:`replica set</tutorial/convert-standalone-to-replica-set>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, we mention standalone in
And, did you test whether if you had a standalone shard, that just changing to the repl set correctly updates the shard meta data held by the config servers?
b80c95b to
10cfa3d
Compare
jdestefano-mongo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made all the changes except on one where I was confused. Opened the following on appspot incase you'd prefer to review there:
https://mongodbcr.appspot.com/176800001/
Regards,
Jon
source/includes/options-mongod.yaml
Outdated
| .. versionchanged:: 3.6 | ||
| You must deploy shard servers as a replica set with the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| You must deploy shard servers as a replica set with the | ||
| :option:`--replSet` option specified. To deploy sharded clusters | ||
| with replication, follow the appropriate tutorial depending on your | ||
| :ref:`sharding strategy<sharding-strategy>`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good suggestion, thanks.
source/includes/options-mongod.yaml
Outdated
| .. versionchanged:: 3.6 | ||
| You must deploy shard servers as a replica set with the | ||
| :option:`--replSet` option specified. To deploy sharded clusters |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added the config file setting.
| |newversion| binary: | ||
| <sharding.clusterRole>`, :setting:`replication.replSetName`, | ||
| :setting:`net.port`, and :setting:`net.bindIp` | ||
| then start the |newversion| binary: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| - :doc:`/tutorial/deploy-sharded-cluster-hashed-sharding` | ||
| - :doc:`/tutorial/deploy-sharded-cluster-ranged-sharding` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. As for the sharded-cluster-components and sharded-cluster-shards, I used the "As of MongoDB 3.X, ..." Language. Is this ok or should I use .. versionchanged:: or none of that stuff?
| Upgrade the shards one at a time. If the shards are replica sets, for each shard: | ||
| Upgrade the shards one at a time. If you are running standalone | ||
| shards, first convert them to a | ||
| :doc:`replica set</tutorial/convert-standalone-to-replica-set>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Sorry, I'm not sure I understand the first comment? Let's discuss tomorrow.
- Updated sh.addShard and the addShard dbcommand.
- I did not test the meta data scenario. I am not sure how to do this off the top of my head but can look into this tomorrow if needed.
|
Thank you. Will review on appspot. I was going to request it in my comments, but didn't want to be pushy :D It seems that if I have a 3.4 sharded cluster with standalone shards, it's seems strange to upgrade the config servers to 3.6, then come across the steps to convert the 3.4 standalone shards to 3.4 replica sets. By the update shards step, you have a mixed cluster with the 3.6 config servers and the 3.4 shards, and I'm not sure if the 3.6 config servers will already complain about the shards at that point. So, I was just stating that we probably should update the 3.4 standalone shards to 3.6 config servers as a prereq. Unless the third point with the meta data-- that is you tried the upgrade in the order listed, and changed a standalone shard to a replica set and the config servers didn't complain, then ... Can discuss tomorrow. Will take a look at changes tomorrow. |
|
closing as work has been merged |
This change is