Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb分片找不到与集合的读取首选项{mode:\";primary\";}匹配的主机_Mongodb_Docker_Sharding_Hostname - Fatal编程技术网

mongodb分片找不到与集合的读取首选项{mode:\";primary\";}匹配的主机

mongodb分片找不到与集合的读取首选项{mode:\";primary\";}匹配的主机,mongodb,docker,sharding,hostname,Mongodb,Docker,Sharding,Hostname,在配置mongodb分片集群时 mongodb分片服务器(192.168.88.40)如下所示 e4dfd7df86f0 mongo:4.2 "docker-entrypoint.s…" 0.0.0.0:29039->27018/tcp MongoArb 7b903389f33d mongo:4.2 "docker-entrypoint.s…" 0.0.0.0:29029-

在配置mongodb分片集群时

mongodb分片服务器(192.168.88.40)如下所示

e4dfd7df86f0        mongo:4.2           "docker-entrypoint.s…"   0.0.0.0:29039->27018/tcp  MongoArb
7b903389f33d        mongo:4.2           "docker-entrypoint.s…"   0.0.0.0:29029->27018/tcp  Mongors2
3a0b5edf1a89        mongo:4.2           "docker-entrypoint.s…"   0.0.0.0:29019->27018/tcp  Mongors1
492ffbbd155f        mongo:4.2       "docker-entrypoint.s…"    0.0.0.0:27019->27017/tcp    Mongos1
13bab86d8d14        mongo:4.2        "docker-entrypoint.s…"   0.0.0.0:29039->27019/tcp   Configsvr3
fc1a728e1643        mongo:4.2        "docker-entrypoint.s…"   0.0.0.0:29029->27019/tcp   Configsvr2
ab343b26c650        mongo:4.2        "docker-entrypoint.s…"   0.0.0.0:29019->27019/tcp   Configsvr1
mongodb配置服务器和mongos(都在192.168.88.17中)如下所示

e4dfd7df86f0        mongo:4.2           "docker-entrypoint.s…"   0.0.0.0:29039->27018/tcp  MongoArb
7b903389f33d        mongo:4.2           "docker-entrypoint.s…"   0.0.0.0:29029->27018/tcp  Mongors2
3a0b5edf1a89        mongo:4.2           "docker-entrypoint.s…"   0.0.0.0:29019->27018/tcp  Mongors1
492ffbbd155f        mongo:4.2       "docker-entrypoint.s…"    0.0.0.0:27019->27017/tcp    Mongos1
13bab86d8d14        mongo:4.2        "docker-entrypoint.s…"   0.0.0.0:29039->27019/tcp   Configsvr3
fc1a728e1643        mongo:4.2        "docker-entrypoint.s…"   0.0.0.0:29029->27019/tcp   Configsvr2
ab343b26c650        mongo:4.2        "docker-entrypoint.s…"   0.0.0.0:29019->27019/tcp   Configsvr1
当我尝试添加shard
sh.addShard('node1/192.168.88.40:29019192.168.88.40:29029')

尝试

  • replicaSetName
    node1
    正确(已选中)

  • 与“security.keyFile”无关(选中)

  • ping在mongos登记入住

  • mongos的错误日志是
    op_msg 20007ms
    ,所以我直接连接了
    mongos
    中的所有容器

    mongo—主机192.168.88.40:29019—u test-p test—authenticationDatabase admin


  • 并且成功连接。

    node1
    复制。replSetName
    ,对吗?和
    sharding.clusterRole
    shardsvr
    。注意我写了shardsvr而不是shardsrv@Minsky是,replSetName是node1。我检查了错误,似乎副本集没有启动。
    rs.initiate
    是否在副本集节点的一个成员中运行?这将启动副本集(rs),在一台主机上配置主+辅助+仲裁器是无用的。如果主机192.168.88.40宕机,则集群不可用,仅配置主服务器不会带来任何好处。这同样适用于配置服务器。一台主机上有3个配置服务器是没有意义的。如果您不需要冗余和高可用性,那么只需配置一个配置服务器。注意,即使您的副本集只有一个节点,您也必须启动副本集。您是否也在配置服务器上运行了
    rs.initiate
    node1
    replication.replSetName
    ,对吗?和
    sharding.clusterRole
    shardsvr
    。注意我写了shardsvr而不是shardsrv@Minsky是,replSetName是node1。我检查了错误,似乎副本集没有启动。
    rs.initiate
    是否在副本集节点的一个成员中运行?这将启动副本集(rs),在一台主机上配置主+辅助+仲裁器是无用的。如果主机192.168.88.40宕机,则集群不可用,仅配置主服务器不会带来任何好处。这同样适用于配置服务器。一台主机上有3个配置服务器是没有意义的。如果您不需要冗余和高可用性,那么只需配置一个配置服务器。注意,即使您的副本集只有一个节点,您也必须启动副本集。您是否也在配置服务器上运行了
    rs.initiate