jjzjj

sharding

全部标签

[Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]]

现象在做某一次用到elasticsearch的地位位置搜索时,报错:ElasticsearchStatusException[Elasticsearchexception[type=search_phase_execution_exception,reason=allshardsfailed]]我使用的是GeoDistanceQueryBuilder进行ElasticSearch的地理位置搜索以及排序排查后来登录到elasticsearch的服务器上去查看错误日志,发现报错如下:就是说我的location不是geo_point类型的,这个问题也是排查了好久。问题的原因很简单,是因为我的inde

mongodb - Mongodb 中的标签感知分片

我一直在阅读有关标签感知分片的内容。这些是我引用的链接:http://www.mongodb.org/display/DOCS/Tag+Aware+Shardinghttp://www.kchodorow.com/blog/2012/07/25/controlling-collection-distribution/Kristina以一种非常清晰的方式解释了这个概念,有一点是肯定的:这一增强将使MongoDB对开发人员更加友好。但我的问题是..看起来标记/重新标记是为了轻松地迁移block..将所有写入到首选数据中心等..但这如何适应旧的范围分区系统和Mongo学习的方式用于平衡的ke

mongodb - 这个模式的好的 mongodb 分片键是什么?

架构{"_id":ObjectId("5069d68700a2934015000000"),"port_name":"CL1-A","metric":340,"port_number":"0","datetime":ISODate("2012-09-30T13:44:00Z"),"array_serial":"12345"}每个阵列有128个端口,每个文档是该指标的一分钟数据。array_serial似乎不是分片键的好选择,因为基数较低,也就是说,序列号12345的所有数据都必须保留在同一个分片上,而不是拆分成大块,对吗?port_number似乎允许中等基数,但它会导致查询隔离失败,

mongodb - 如果我们使用分片,mongodb 中的唯一索引

在分片环境中,数据根据分片键的范围存储在不同的分片中。在我看来,在这种情况下,mongodb不能保证索引的唯一性(至少如果它不是分片键)。我们可以为分片键使用唯一索引吗?我们可以在分片键以外的字段上使用索引吗? 最佳答案 你是对的,mongodb不能保证跨分片集群的索引的唯一性,因为每个分片不能报告它是否包含要插入的键在它们的上下文中是唯一的。这包含在documentation中还有一个number的strategies围绕这种情况。结果是,如果为分片键选择这样的键,您将需要应用层来强制执行分片键的唯一性。我不是100%清楚你的第二

collections - Mongodb 自动写入上限集合

我需要在一小时内管理许多记录的采集。大约1000000条记录。而且我需要每秒获取每个主键的最后一个插入值。它适用于分片。我正在考虑尝试使用oscappedcollection来只获取每个主键的最后一条记录。为了做到这一点,我做了两个单独的插入,有一种方法,到mongodb中,制作某种触​​发器将插入传播到一个集合到另一个集合? 最佳答案 MongoDB不支持触​​发器或类似行为。做到这一点的唯一方法是让它在您的代码中实现。所以写第一个条目的代码也应该写第二个。人们肯定要求触发。如果您的解决方案需要它们,请转换voteonthefea

php - 生产中的 MongoDB 分片错误

我们通过使用node+mongodb为我们的聊天模块实现了mongodb分片概念。MongoDBShardingConfiguration===============================Shard1=PRIMARY+SECONDARY+ARBITERShard2=PRIMARY+SECONDARY+ARBITERConfigMongos以下是我们今天早上收到的详细信息。但是我们不知道如何解决这个问题。请告诉我如何解决这个问题。"errmsg":"rollback2errorfindcommonpointwaitingawhilebeforetryagain"“errmsg

python - 寻找一种从 Python 代码中分片 MongoDB 集合的方法

我正在寻找一种在python(2.7)程序中对现有集合远程执行分片的方法。我找不到执行该操作的API(pymongo),或者可能只是看起来不够好。这样的事情可能吗?提前致谢 最佳答案 按照settingupashardedcluster的说明进行操作,直到将“mongo”shell连接到mongos服务器并说:sh.enableSharding("")相反,只需键入不带括号的命令即可查看enableSharding的代码:sh.enableSharding您可以看到它在“admin”数据库上执行了{enableSharding:db

mongodb - 如何验证分片?

我正在尝试对MongoDB进行分片。我已完成分片配置,但我不确定如何验证分片是否正常工作。如何检查我的数据是否被分片?是否有验证/验证分片的查询? 最佳答案 您还可以在mongos路由器上执行一个简单的命令:>useadmin>db.printShardingStatus();它应该输出有关您的分片、分片数据库和分片集合的信息,如mongodbdocumentation中所述shardingversion:{"_id":1,"version":2}shards:{"_id":ObjectId("4bd9ae3e0a2e26420e5

MongoDB 耗尽分片但平衡器未运行? (removeShard 花费太多时间)

我正在尝试将一个目前有8个分片的分片集群缩减为一个有4个分片的集群。我从第8个分片开始,并尝试先将其删除。db.adminCommand({removeShard:"rs8"});----{"msg":"drainingongoing","state":"ongoing","remaining":{"chunks":NumberLong(1575),"dbs":NumberLong(0)},"note":"youneedtodropormovePrimarythesedatabases","dbsToMove":[],"ok":1}因此有1575个block要迁移到集群的其余部分。但是

mongodb - 不可达/健康的副本集

我正在尝试在现有集合中再添加一个副本集,但在可达性方面遇到了问题。我们得到Notreachable/healthy副本集的原因是什么?"name":"IPADDRESS","health":0,"state":8,"stateStr":"(notreachable/healthy)","uptime":0,"optime":{"t":0,"i":0},"optimeDate":ISODate("1970-01-01T00:00:00Z"),"lastHeartbeat":ISODate("2013-06-18T10:52:50Z"),"lastHeartbeatRecv":ISODat