首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB Shard脱机mongos抛出套接字异常

MongoDB Shard脱机mongos抛出套接字异常
EN

Stack Overflow用户
提问于 2015-09-21 13:55:36
回答 1查看 231关注 0票数 1

我有关于用shard使用mongos的问题,我在开发环境中构建了shard集群--我有两个碎片(不包括仅供测试的复制)--一个配置和一个mongos --当我关闭一个碎片时,mongos无法找到数据(如find(),count()……).it抛出这样的套接字异常:socket exception CONNECT_ERROR for 127.0.0.1:20000代码:11002可以帮助我找出问题出在哪里,在它在共享集群中编写文档之前,我看到了它们是否仍然可以工作。我感谢你的帮助,我用这些shell来构建它。

代码语言:javascript
复制
shard 1
mongod --shardsvr  --port 10000 --dbpath c:\shard\data\shard1\r0 --oplogSize         64 --logpath c:\shard\logs\r0.log --logappend  

shard2
mongod --shardsvr  --port 20000 --dbpath     c:\shard\data\shard2\r0 --oplogSize 64 --logpath c:\shard\logs\r3.log --logappend  

config
mongod --configsvr --dbpath c:\shard\data\config --port 40000 --logpath     c:\shard\logs\config.log --logappend  

mongos
mongos --configdb 127.0.0.1:40000 --port 50000 --chunkSize 1 --logpath     c:\shard\logs\mongos.log --logappend 


mongo 127.0.0.1:50000/admin  
db.runCommand({addshard:"127.0.0.1:10000",name:"ShardSetA"})  
db.runCommand({addshard:"127.0.0.1:20000",name:"ShardSetB"})  
db.runCommand({enablesharding:"Staff"});  
var server=["127.0.0.1:10000","127.0.0.1:20000"]
db.runCommand({shardcollection:"Staff.StaffInfo",key:{StaffName:1}})  

for ( var x=65; x<=65+25; x+=10 ){
var index=x+10>65+25?65+25:x+10;
 db.runCommand( { split : "Staff.StaffInfo" , middle : { StaffName:      String.fromCharCode(index)} } );} 

var i=0;
for ( var x=65; x<=97+25; x+=10 ){db.adminCommand( {moveChunk :    "Staff.StaffInfo" ,find : {StaffName: x},  to : server[i%2] });i++} 
EN

回答 1

Stack Overflow用户

发布于 2015-09-22 13:37:05

我已经解决了这个问题。问题有三种情况。1.从普通碎片中查询,mongodb可以提供正确的数据2。从所有碎片(包括脱机碎片)查询mongodb将抛出异常。3.从脱机碎片查询mongodb将抛出异常

所以,如果你想保持高性能的切分,请使用复制!如果您从其他文件查询,请设置部分标志,以提供来自普通碎片的返回数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32697115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档