错误:未连接到mongos

时间:2018-04-06 19:36:10

标签: mongodb

我正在尝试用mongo创建和填充一系列分片。但是我一直收到以下错误:

enter image description here

错误:未连接到mongos。

我有' mongod'在后台运行。这与mongod不同吗?我曾尝试过运行“mongos'在cmd行但这也给了我一个错误。

如何摆脱此错误?

谢谢

enter image description here

1 个答案:

答案 0 :(得分:1)

看起来好像你的集群没有运行所需的所有组件,所以你确实需要(除其他事项外)至少运行1个mongos实例。

我想(因为没有关于你在启动mongos时收到的错误的详细信息)你无法运行mongos守护进程的原因是因为它被配置为在与mongod相同的端口上运行。因此,如果您尝试在一台计算机上运行所有组件,则需要为每个组件设置不同的端口号。

mongod是运行MongoDB实例(数据存储)的守护进程,mongos是群集的路由器服务。

您将需要:

  • 作为分片运行的多个mongod实例(数据实际分类的位置)
  • 作为mongod服务器运行的3 config个实例(其中分片包含哪个数据范围的元数据(基于您的分片键)
  • 作为您的路由器的一个或多个mongos实例 - 决定(根据配置服务器的信息)需要查询哪些分片&然后处理排序和在返回查询结果之前合并结果。此外,您的mongos服务器是您实际从客户端连接到的终端。

当您运行所有组件后,您需要连接到其中一个mongos个实例,以便初始化分片,管理&查询它背后的数据。

在独立或副本集配置中,您连接到其中一个mongod实例以进行查询,管理等。在Sharded群集中,您连接到mongos之一而是管理您的查询的路由。

这个教程非常好&我第一次玩Sharded cluster时帮了我一堆

https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/