草庐IT

SHARDING

全部标签

mongodb - 在不关闭现有 mongo 实例的情况下进行 Mongo 分片

我需要在不关闭的情况下进行分片,或者在端口27017中重启现有的mongo实例。我尝试了以下操作,(当默认端口正在运行和mongo实例时)mongod--shardsvr--dbpath/var/lib/mongodb/dba--port10001>/var/log/mongodb/shardlog/sharda.log&mongod--shardsvr--dbpath/var/lib/mongodb/dbb--port10002>/var/log/mongodb/shardlog/shardb.log&mongod--configsvr--dbpath/var/lib/mongodb

mongodb - MongoDB 中好的分片键

摘自《扩展MongoDB》一书:ThegeneralcaseWecangeneralizethistoaformulaforshardkeys:{coarseLocality:1,search:1}所以我的问题是,这样正确吗?不应该是更好的写作的对立面吗?也来自本书:Thispatterncontinues:everythingwillalwaysbeaddedtothe“last”chunk,meaningeverythingwillbeaddedtooneshard.Thisshardkeygivesyouasingle,undistributablehotspot.也就是说,我的

config - MongoDB - 在生产中添加新的配置服务器

我一直在使用mongodb和分片进行一些测试,有时我尝试将新的配置服务器添加到我的mongos路由器(当时,我只使用一个配置服务器)。但是我找不到有关如何执行此操作的任何信息。有没有人试过做这样的事情? 最佳答案 不幸的是,您将需要关闭整个系统。关闭所有进程(mongod、mongos、configserver)。将数据子目录(dbpath树)从配置服务器复制到新的配置服务器。启动配置服务器。使用新的--configdb参数重新启动mongos进程。重启mongod进程。发件人:http://www.mongodb.org/disp

java - Mongodb:在 Java(和 JavaScript)中调用 db.printShardingStatus()/sh.status()

在我的Java代码中进行分片后,我需要获取一个block列表。我的代码很简单,看起来像这样:Mongom=newMongo("localhost",27017);DBdb=m.getDB("admin");Objectcr=db.eval("db.printShardingStatus()",1);调用eval()返回错误:Exceptioninthread"main"com.mongodb.CommandResult$CommandFailure:commandfailed[$eval]:{"serverUsed":"localhost/127.0.0.1:27017","errno

MongoDB-使用三个值的复合分片键

我正在创建一个使用MongoDB存储JSON对象的集合。我被困在分片部分。对于集合中的每条记录,我都有一个案例ID、客户ID和位置案例ID是一个10位数字(只有数字,没有字母)。CustomerID是客户名称和案例ID的组合。位置是一个2dsphere值,我期望位置具有不同的不同值。除此之外,我还记录了客户名称和案例描述。我所有的搜索查询都有案例ID、客户ID或位置的搜索条件。在这种情况下,我可以根据所有这三个值(CaseID、CustomerID和位置)创建复合键吗?我相信这提供了高基数并且易于检索记录。任何人都可以建议我这是否是一种好方法,因为我没有找到包含三个值的复合分片键。感谢

java - 如何在 Spring MVC 的 contextConfigLocation 中设置 MongoDB ReadPreference

我正在通过SpringMVC中的mongodbjava驱动程序连接到MongoDB分片服务器。我正在使用以下版本:spring-webmvc-3.2.1.RELEASEmongo-java-driver/2.10.0/mongo-java-driver-2.10.0spring-data-mongodb-1.2.0.RELEASE我的Mongo选项在contextConfigLocation文件mvc-dispatcher-servlet.xml中设置它工作得很好,但是slave-ok被come.MongoDB.ReadPreference弃用了。我只是想知道是否有任何方法可以在con

mongodb - MongoDB 分片性能不佳

我是MongoDB分片的新手,我们面临着性能问题。我用三台服务器尝试了许多测试用例,我觉得与单台服务器上的单个mongod实例相比,MongoDB分片并没有提供更好的性能。我说的对吗?如果我不正确,请提供测试集合、分片键和负载测试程序。测试用例1:我在mongod和单个分片(http://docs.mongodb.org/manual/core/sharded-cluster-architectures-test/)上的单个实例之间进行了一次负载测试,我观察到由于mongos和配置服务器,分片设置的性能下降了40%。mongos和configserver是否占用40%服务器资源?测试用

用于范围查询的 MongoDB 索引和 ShardKey?

我将使用MongoDB2.4.x这意味着我可以使用Hashed-based索引。我可以将索引设置为shardKey,它会几乎均匀地分布在服务器之间,并且会被均匀地访问。当我尝试执行范围查询时出现问题。我的查询如下所示db.feeds.find({age:{$gte:20,$lte:25}}).sort({timestamp:-1}).limit(10)我想我有两个选择在{age:1,timestamp:-1}上建立索引并设置shardKeyshardKey使用hashed-based索引,query使用上述索引,>在内存(memcached或redis)中缓存最近的查询结果,因为范围查

mongodb - 在 MongoDB 中为基于时间的查询选择一个好的分片键

我有一个包含以下文档的集合:{"_id":ObjectId("535e194aba863da3118cdf8a"),"device_id":"1080000008","others":[{"mileage":"0.0","event":"5","satellite":"8","altitude":"0","heading":"290"}],"speed":68,"lat":1.3209,"lng":103.89139,"dateTime":ISODate("2014-04-28T17:03:05.000Z"),"output_status":0,"street_name":"JALAN

mongodb分片用户认证

我设置了一个全新的、分片的MongoDb(3个配置服务器,3个节点副本集)。按照网上的文档,真的没有任何问题。分片数据库和集合;mongos连接到系统;一切正常。我不了解的一件事是身份验证在分片系统中是如何工作的。我为所有6个节点设置了key文件。当我想添加用户时,我是从mongos做的吗?我是否必须登录到副本集中的每个节点并添加用户?我必须将用户添加到配置服务器吗?特别是我通过mongos创建了一个MMS用户,这允许mms-monitoring-agent连接到足以了解各种服务器的信息。但它实际上不能从其中任何一个读取数据;我收到如下错误:askfailure`serverStatu