我在计算机1上使用MongoDB创建了一个数据库。 我正在尝试从计算机2加载此数据库。 你能帮我做一下吗?
我尝试在共享磁盘F:\中设置--dbpath(data \ db),但是计算机2无法识别数据。
答案 0 :(得分:1)
您可以从任何其他节点访问mongo群集,因为您需要知道在节点(计算机)1上运行config-server的端口。 可以使用以下命令启动config-server。理想情况下,系统上应该运行3个配置服务器,因此,我正在更新将其考虑在内的步骤。
<path-to-mongo>/bin/mongod --configsvr --port <port-1> --dbpath ./shardedcluster/cfg0 --fork
<path-to-mongo>/bin/mongod --configsvr --port <port-2> --dbpath ./shardedcluster/cfg1 --fork
<path-to-mongo>/bin/mongod --configsvr --port <port-3> --dbpath ./shardedcluster/cfg2 --fork
问题:找不到分片。早些时候,我认为没有必要设置分片来设置这种系统。但是,要解决此问题,您可以创建一个分片服务器,并按如下所示进行初始化。
<path-to-mongo>/bin/mongod --shardsvr --replSet a --dbpath ./shardedcluster/a0 --port <shard-port> --fork --smallfiles --oplogSize 50
要初始化分片,请按照以下步骤操作。
<path-to-mongo>/bin/mongo --port <shard-port>
然后,运行该命令
rs.initiate()
假设在计算机2上您复制了MongoDB可执行文件。在计算机2上运行以下命令
<path-to-mongodb>/bin/mongos --configdb <C1-IP>:<port-1>,<C1-IP>:<port-2>,<C1-IP>:<port-3> --port 27017
然后运行(在计算机-2上),
<path-to-mongodb>/bin/mongo --port 27017
27017是默认端口,我使用该选项只是为了详细。
注1 如果分片初始化错误仍然存在 在mongos shell中运行以下命令,
sh.addShard("a/<C1-IP>:<Shard-port>")
注意2 请确保目录shardedcluster / cfg0,shardedcluster / cfg1,shardedcluster / cfg2,shardedcluster / a存在且具有正确的写入权限。
要获取更多详细信息,请点击以下链接。 http://www.mongodbspain.com/en/2015/01/26/how-to-set-up-a-mongodb-sharded-cluster/
我只给了你所需的命令。
答案 1 :(得分:0)
最简单的方法是,当您只需要复制数据而不是任何特定数据库/集合的配置时,mongodump
和mongoimport
。请随意在mongodb doc中查看它们。
答案 2 :(得分:0)
我发现此链接更有帮助 [https://severalnines.com/blog/developer-s-guide-mongodb-replica-sets][1]
总结以上链接中给出的步骤:
mongod --replSetplicateSetName --dbpath / usr / local / var / mongo / mongod - 港口 27017
//you can provide any name in place of replicaSetName
2。为此实例启用replSet模式
rs.initiate()
mongod --config /etc/mongod-secondary.cfg
样本mongod-secondary.cfg:
systemLog: 目的地:文件 路径:/Users/log2/mongod.log存储: dbPath:/ Users / MongoSample /数据网: 端口:27019 bindIp:127.0.0.1复制:replSetName:复制集名称
replicaSetName应该与实例一中给出的相同,数据库路径和日志路径应该与实例1不同
rs.add(“ 127.0.0.1:27019”);
就这样! 请检查链接以获取详细答案。 它提供了更简单的方法来创建mongo数据库实例的副本,所选答案是正确的,但由于某种原因很难理解,因此将其发布到此处。