In my mongodb config server has 3.4 version and mongos has 3.6 version but i am unable to start mongos service should both be same version as 3.6 then i have rollback both to 3.4 version now the mongos service started.my doubt is the config server and mongos server should have same version as 3.6 to start the mongos service
As Per MongoDB BOL Starting in
3.4, the use of the deprecated mirrored mongod instances as config servers (
SCCC) is no longer supported. Before you can upgrade your sharded clusters to 3.4, you must convert your config servers from
To convert your config servers from
CSRS, see Upgrade Config Servers to Replica Set.
Where Config servers store the metadata for a sharded cluster. The metadata reflects state and organization for all data and components within the sharded cluster. The metadata includes the list of chunks on every shard and the ranges that define the chunks.
The mongos instances cache this data and use it to route read and write operations to the correct shards. mongosupdates the cache when there are metadata changes for the cluster, such as Chunk Splits or adding a shard. Shards also read chunk metadata from the config servers.
MongoDB also uses the config servers to manage distributed locks.
Each sharded cluster must have its own config servers. Do not use the same config servers for different sharded clusters.
WARNING: Administrative operations conducted on config servers may have significant impact on sharded cluster performance and availability. Depending on the number of config servers impacted, the cluster may be read-only or offline for a period of time.
Of course it is best if all versions are same, but a situation where versions differ is possible when you do "rolling upgrade". You can have config server at version 3.6 and mongos 3.4.
I recommend looking at the documentation on how to do a rolling upgrade across the board, but one step which caught me out when doing the rolling upgrade was the addition of the
--bind_ip_all parameter which I used, or you can use
--bind_ip parameter that is in the upgrade documentation.
You need to use one of these parameters for MongoDB 3.6, this is required for configs, mongos and mongods.
Would be good to see and example of the errors you are getting.