1.每个节点上分别创建新的shard3配置文件
	
		- 
			[root@ip-10-1-2-68 etc]# more shard3.conf 
		 
		- 
			logpath=/usr/local/mongodb/logs/mongo_shard3.log
		 
		- 
			logappend=true # need logrotae scripts
		 
		- 
			fork=true
		 
		- 
			journal=true
		 
		- 
			port=27017
		 
		- 
			#vvvvv = true
		 
		- 
			#diaglog = 3
		 
		- 
			dbpath=/usr/local/mongodb/shard3
		 
		- 
			pidfilepath=/usr/local/mongodb/logs/mongo_shard3.pid
		 
		- 
			bind_ip=10.1.2.68    ---bind ip 修改为自己的机器
		 
		- 
			replSet=shard3
		 
		- 
			shardsvr=true
		
 
	
 
2. 每个节点启动shard3 服务
	
		- 
			[root@ip-10-1-2-68 etc]# /usr/local/mongodb/bin/mongod -f shard3.conf
		
 
	
 
3.登陆第一个节点,搭建shard3的复制集
	
		- 
			[root@ip-10-1-2-32 etc]# /usr/local/mongodb/bin/mongo 10.1.2.32:27017  
		 
		- 
			MongoDB shell version v3.6.4
		 
		- 
			connecting to: mongodb://10.1.2.32:27017/test
		 
		- 
			MongoDB server version: 3.6.4
		 
		- 
			Server has startup warnings: 
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] 
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] 
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] 
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] 
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
		 
		- 
			2018-05-08T03:26:23.290+0000 I CONTROL [initandlisten] 
		 
		- 
			> config_rs3 = {_id: 'shard3', members: [{_id: 0, host: '10.1.2.32:27017', priority:1}, {_id: 1, host: '10.1.2.68:27017'},{_id: 2, host: '10.1.2.175:27017'}]}
		 
		- 
			{
		 
		- 
			        "_id" : "shard3",
		 
		- 
			        "members" : [
		 
		- 
			                {
		 
		- 
			                        "_id" : 0,
		 
		- 
			                        "host" : "10.1.2.32:27017",
		 
		- 
			                        "priority" : 1
		 
		- 
			                },
		 
		- 
			                {
		 
		- 
			                        "_id" : 1,
		 
		- 
			                        "host" : "10.1.2.68:27017"
		 
		- 
			                },
		 
		- 
			                {
		 
		- 
			                        "_id" : 2,
		 
		- 
			                        "host" : "10.1.2.175:27017"
		 
		- 
			                }
		 
		- 
			        ]
		 
		- 
			}
		 
		- 
			> rs.initiate(config_rs3);
		 
		- 
			{ "ok" : 1 }
		
 
	
 
4.登陆第一个节点的mongs端口,将shard3分片加入分片组
	
		- 
			[root@ip-10-1-2-32 etc]# /usr/local/mongodb/bin/mongo 10.1.2.32:30000
		 
		- 
			MongoDB shell version v3.6.4
		 
		- 
			connecting to: mongodb://10.1.2.32:30000/test
		 
		- 
			MongoDB server version: 3.6.4
		 
		- 
			Server has startup warnings: 
		 
		- 
			2018-05-03T07:47:09.379+0000 I CONTROL [main] 
		 
		- 
			2018-05-03T07:47:09.379+0000 I CONTROL [main] ** WARNING: Access control is not enabled for the database.
		 
		- 
			2018-05-03T07:47:09.379+0000 I CONTROL [main] ** Read and write access to data and configuration is unrestricted.
		 
		- 
			2018-05-03T07:47:09.379+0000 I CONTROL [main] ** WARNING: You are running this process as the root user, which is not recommended.
		 
		- 
			2018-05-03T07:47:09.379+0000 I CONTROL [main] 
		 
		- 
			
		 
		- 
			mongos> use admin;
		 
		- 
			switched to db admin
		 
		- 
			mongos> db.runCommand({ addshard: 'shard3/10.1.2.32:27017,10.1.2.68:27017,10.1.2.175:27017'})
		 
		- 
			{
		 
		- 
			        "shardAdded" : "shard3",
		 
		- 
			        "ok" : 1,
		 
		- 
			        "$clusterTime" : {
		 
		- 
			                "clusterTime" : Timestamp(1525750332, 7),
		 
		- 
			                "signature" : {
		 
		- 
			                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
		 
		- 
			                        "keyId" : NumberLong(0)
		 
		- 
			                }
		 
		- 
			        },
		 
		- 
			        "operationTime" : Timestamp(1525750332, 7)
		 
		- 
			}
		 
		- 
			mongos> db.printShardingStatus(); ---查看新的分片信息
		 
		- 
			--- Sharding Status --- 
		 
		- 
			  sharding version: {
		 
		- 
			        "_id" : 1,
		 
		- 
			        "minCompatibleVersion" : 5,
		 
		- 
			        "currentVersion" : 6,
		 
		- 
			        "clusterId" : ObjectId("5aeabc4db192a4fefca1c888")
		 
		- 
			  }
		 
		- 
			  shards:
		 
		- 
			        { "_id" : "shard1", "host" : "shard1/10.1.2.175:27019,10.1.2.32:27019,10.1.2.68:27019", "state" : 1 }
		 
		- 
			        { "_id" : "shard2", "host" : "shard2/10.1.2.175:27018,10.1.2.32:27018,10.1.2.68:27018", "state" : 1 }
		 
		- 
			        { "_id" : "shard3", "host" : "shard3/10.1.2.175:27017,10.1.2.32:27017,10.1.2.68:27017", "state" : 1 }
		 
		- 
			  active mongoses:
		 
		- 
			        "3.6.4" : 3
		 
		- 
			  autosplit:
		 
		- 
			        Currently enabled: yes
		 
		- 
			  balancer:
		 
		- 
			        Currently enabled: yes
		 
		- 
			        Currently running: no
		 
		- 
			        Failed balancer rounds in last 5 attempts: 0
		 
		- 
			        Migration Results for the last 24 hours: 
		 
		- 
			                No recent migrations
		 
		- 
			  databases:
		 
		- 
			        { "_id" : "config", "primary" : "config", "partitioned" : true }
		 
		- 
			                config.system.sessions
		 
		- 
			                        shard key: { "_id" : 1 }
		 
		- 
			                        unique: false
		 
		- 
			                        balancing: true
		 
		- 
			                        chunks:
		 
		- 
			                                shard1  1
		 
		- 
			                        { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : shard1 Timestamp(1, 0) 
		 
		- 
			        { "_id" : "test", "primary" : "shard2", "partitioned" : true }
		 
		- 
			                test.users
		 
		- 
			                        shard key: { "_id" : 1 }
		 
		- 
			                        unique: false
		 
		- 
			                        balancing: true
		 
		- 
			                        chunks:
		 
		- 
			                                shard2  1
		 
		- 
			                        { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : shard2 Timestamp(1, 0)
		
 
	
 
	
	5、设置均衡器
	
		
			- 
				# 查看状态
			 
			- 
				
			 
			- 
				mongos> sh.isBalancerRunning();
			 
			- 
				
			 
			- 
				false
			 
			- 
				
			 
			- 
				
			 
			- 
				 
			 
			- 
				
			 
			- 
				# 设置均衡器
			 
			- 
				
			 
			- 
				mongos> sh.setBalancerState(true);
			 
			- 
				
			 
			- 
				mongos> sh.enableBalancing("bg")
			
 
			- 
				mongos> sh.getBalancerState()
true
			 
		
	 
	参考:https://docs.mongodb.com/manual/reference/method/sh.getBalancerState/