MongoDB cluster data query slow, db.collection.find () do not set the condition of the query is almost impossible to find out, by checking the status of each shard server in the cluster, found a machine status of Recoving. View the Db.printreplicationinfo () command to see how the node replicates the data, and discover that it is out of sync with the other nodes.
Workaround: 1, stop the Node MongoDB service (Arbiter node of the MongoDB service also stopped), delete the node data stored in the directory of data, re-open the MongoDB service (first open the Exception node MongoDB service, Then turn on the Arbiter service) the exception node will re-replicate the data to its own node. The status will be changed from the original recovering to Startupp, and the Rs.status () command can see that the uptime is constantly being copied.
When the data synchronization is complete, the STARTUP2 state is automatically secondary.
Workaround 2: Delete the data under the node and copy the full data from the other nodes to that node, and copy the local ....
MongoDB Shard State recovering