摘要:Linux Ubuntu + MongoDB + ReplSet
現在我要使用新的MongoDB Replcation 的 Server
只有三臺,一臺Master,兩臺Slave
而要使用這樣的架構,
在Linux Ubuntu環境下,架設,依照官方說法去做
如下:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
但這情況下,就是要設定/etc/mongodb.conf這個檔案
這個檔案需要將replSet 前面的#拿掉。
並且加入其他臺的電腦
及replset name設定
我設定如下
第一臺
	replSet = Shard01/Address IP2:27017
	第二臺 
	replSet = Shard01/Address IP1:27017,Address IP3:27017
		第三臺 
	
		replSet = Shard01/Address IP1:27017,Address IP2:27017
	
		然後再將三臺restart
	
		sudo service mongodb restart
	
		並進入第一臺
	
		mongo
	
		use admin
	
		(ReplSet Name必需與設定檔相同)
	
		config = {_id:'Shard01',members:[{_id:0,host:'Address IP1',priority:1},{_id:1,host:'Address IP2'},{_id:2,host:'Address IP3'}]} 
	
		rs.initiate(config)
	
		若回傳失敗的話。
	
		去查看log資訊
	
		cat /var/log/mongodb
	
		如果成功,
	
		則
	
		進入mongo後
	
		就會看到他是否為
	
		Shard01:PRIMANRY>
	
		or
	
			Shard01:SECONDARY>
		
			各Server再執行.getMongo().setSlaveOk();
		
			 底下這一篇,也有對這種架設佈署過程的文章,包含安裝性驗證的部分的解說。
		
			http://linuxadminzone.com/create-secure-mongodb-replica-set-in-amazon-aws-ec2-instances/
		
			※權限管理※
		
			在要加入權限管理時,需要注意,
		
			除了要修改
		
			/etc/mongodb.conf
		
			打開
		
			auth外
		
			需建立keyFile
		
			而keyFile則需建立權限
		
			sudo chown mongodb:mongodb <<keyFile檔案>>
		
			sudo chmod 600 <<keyFile檔案>>
		
			因為在使用 
		
			sudo service mongodb start時,他使用的使用者為mongodb
		
			而keyFile可使用
		
			openssl rand -base64 753產生
		
			mongodb部分則加入使用者
		
			use admin
		
			db.addUser("user","pwd")
		
			db.auth("user","pwd")
		
					查詢複製資訊相關
				
					use admin
				
					db.getReplicationInfo()
				
					 db.printReplicationInfo
				
						db.printSlaveReplicationInfo()
					
						 rs.isMaster()
					
						rs.status()
					
					use local
				
						db.slaves.find()
					
							db.sources.find()
						
							同步參考相關文件
						
							http://hi.baidu.com/jinbokezhu/item/422140074b15587bbfe97e06
						
							use local
						
							db.system.replset.find()
						
							rs.conf()
						
							http://fred-zone.blogspot.tw/2012/09/mongodb-replic
						
							http://cyrilwang.blogspot.tw/2012/06/mongodb-replica-set-in-centos-6x_05.htmlation.html