m ongodb replica,shard cluster

23
MongoDB Replica,Shard Cluster 中中中中中中中中 中中中 2014-05-05

Upload: nairi

Post on 24-Feb-2016

88 views

Category:

Documents


0 download

DESCRIPTION

M ongoDB Replica,Shard Cluster. 中央大學電算中心 楊素秋 2014-05-05. OUTLINE. 1. MongoDB Replica 2. Deploy a Replica Set 3. Sharing Cluster 4 . Deploy a Sharded Cluster 5. C onclusion. 1. MongoDB Replica. P rovides redundancy protects a database from loss of a single server - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: M ongoDB Replica,Shard Cluster

MongoDB Replica,Shard Cluster

中央大學電算中心 楊素秋2014-05-05

Page 2: M ongoDB Replica,Shard Cluster

OUTLINE• 1. MongoDB Replica• 2. Deploy a Replica Set• 3. Sharing Cluster• 4. Deploy a Sharded Cluster• 5. Conclusion

Page 3: M ongoDB Replica,Shard Cluster

1. MongoDB Replica• Provides redundancy– protects a database from• loss of a single server

• Increases data availability– recover from• hardware failure• service interruptions

Page 4: M ongoDB Replica,Shard Cluster
Page 5: M ongoDB Replica,Shard Cluster
Page 6: M ongoDB Replica,Shard Cluster
Page 7: M ongoDB Replica,Shard Cluster

2. Deploy a Replica Set

• 安裝 / 啟動 mongoDB on each hosts – http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-

fedora-linux/

• 設定 /etc/mongod.conf• service mongod restart

• 在 primary host (140.115.2.32)– rs.initiate()– rs.add(“140.115.2.32:27017”)– rs.add(“140.115.2.31:27017”)– rs.addArb(“140.115.2.34:27017”)

Page 8: M ongoDB Replica,Shard Cluster
Page 9: M ongoDB Replica,Shard Cluster
Page 10: M ongoDB Replica,Shard Cluster
Page 11: M ongoDB Replica,Shard Cluster

• Priority – cfg = rs.conf()– cfg.members[0].priority = 2.0 – cfg.members[1].priority = 0.5– rs.reconfig(cfg)

2. Deploy a Replica Set (cont.)

Page 12: M ongoDB Replica,Shard Cluster

• Slave Node – MongoDBManager.java

2. Deploy a Replica Set (cont.)

public static synchronized DB getDB() throws Exception { if(mongo == null) { mongo = new Mongo(); mongo.slaveOk(); } return mongo.getDB("fdns"); } public static synchronized Mongo getMongo() throws Exception { if(mongo == null) { mongo = new Mongo(); mongo.slaveOk(); } return mongo; }

Page 13: M ongoDB Replica,Shard Cluster

• Slave Node – mongo shell

• use fdns• rs.slaveOk()• show collections

– mongo shell• db.collectionName.remove() // FAIL• db.collectionName.drop()

2. Deploy a Replica Set (cont.)

Page 14: M ongoDB Replica,Shard Cluster

3. Sharing Cluster• Single machine challenges– High query rates• exhaust CPU capacity

– Larger data sets• exceed the storage capacity

• Referances– http://docs.mongodb.org/manual/core/sharding-introduc

tion/– http://docs.mongodb.org/manual/core/sharded-cluster-c

omponents/

Page 15: M ongoDB Replica,Shard Cluster
Page 16: M ongoDB Replica,Shard Cluster

3. Sharing Cluster(cont.)

• Sharded Cluster Components– Shards • holds a subset of a collection’s data• a single mongod instance, or a replica set

– Config Servers• a mongod instance

– holds metadata about the cluster– metadata maps chunks to shards

Page 17: M ongoDB Replica,Shard Cluster

3. Sharing Cluster (cont.)

– Routing Instances • a mongos instance

– routes the reads and writes from applications to the shards

• Applications do not access the shards directly

Page 18: M ongoDB Replica,Shard Cluster

3. Sharing Cluster (cont.)

• Vertical scaling– adds more CPU and storage resources to increase capacity

• horizontal scaling (Sharding)• divides the data set• distributes data over multiple servers(shards)– Each shard is an independent database– shards make up a single logical database

Page 19: M ongoDB Replica,Shard Cluster
Page 20: M ongoDB Replica,Shard Cluster

• Range based partitioning– MongoDB divides the data set into ranges• determined by the shard key values to provide

Page 21: M ongoDB Replica,Shard Cluster

• Hash Based Sharding• MongoDB computes a hash of a field’s value– uses these hashes to create chunks.

Page 22: M ongoDB Replica,Shard Cluster

4. Deploy a Shard Cluster

– http://docs.mongodb.org/manual/tutorial/deploy-shard-cluster/

Page 23: M ongoDB Replica,Shard Cluster

5. Conclusion• Replica Set **– Primary : service– Secondary : Data Mining• Apache Mahout: cluster, classification• Mining flooding, attacks traffic

– Arbiter • Sharing Cluster– Load balance– Scalability