Mongodb 在mongos下获取碎片
我有一个到mongos实例的Mongodb 在mongos下获取碎片,mongodb,sharding,Mongodb,Sharding,我有一个到mongos实例的MongoConnection。Mongos在内部连接到三个碎片。是否有任何方法可以让我获得每个碎片的单独连接,或者至少获得碎片上的信息,以便我可以创建新的连接 我查看了MongoConnection类,没有发现任何与mongos相关的内容。 Mongo版本2.2和MongoDriver 1.3.1以及ruby语言 例如: Mongos是一个localhost:27107 在214.187.112.113:27107209.117.116.103:27107114.
MongoConnection
。Mongos在内部连接到三个碎片。是否有任何方法可以让我获得每个碎片的单独连接,或者至少获得碎片上的信息,以便我可以创建新的连接
我查看了MongoConnection
类,没有发现任何与mongos相关的内容。
Mongo版本2.2和MongoDriver 1.3.1以及ruby语言
例如:
Mongos是一个localhost:27107
在214.187.112.113:27107209.117.116.103:27107114.117.162.123:27107有碎片
现在,我的
MongoConnection
变量已连接到localhost:27107
是否有办法通过此连接创建到单个shard@214.187.11.113等的连接MongoDB集群带有3种类型的组件-
1.)配置服务器(mongod在此处运行)
2.)查询路由器(mongos在此运行)
3.)分片服务器(mongod在这里运行)
Mongos是MomgoDB提供的分片服务。
Mongo碎片服务器通过mongos注册到配置服务器
ex- sh.addShard( "mongo-shard-1:27017" )
sh.addShard( "mongo-shard-2:27017" )
将来,当任何请求(读/写)到达mongos时,它首先从配置服务器获取切分信息,然后客户机通过将其专用于适当的切分服务器来服务该请求
我不知道为什么要直接连接到shard服务器(mongos在集群设置中提供透明的连接)
因为每个shard服务器也运行mongod,所以您可以直接连接到它,但它将作为一个独立的MongoDB实例,而不是集群的一部分
如果你想控制切分,你可以按如下方式操作。
不太清楚您到底想做什么。很明显,你想编写一些代码,但你能确切地说明你希望这些代码做什么吗?@NeilLunn为问题补充了更多信息