docker搭建借鉴文章:https://www.jianshu.com/p/163a60aec26e 非docker搭建借鉴文章:https://blog.csdn.net/kevinmcy/article/details/82712074
-
下载镜像 docker pull mongo -
创建配置服务 服务器1: docker run -d --name configsvr0 -p 10021:27019 -v /Users/zhuanglihua/mongodb/data/configsvr0:/data/configdb mongo --configsvr --replSet “rs_configsvr” --bind_ip_all 服务器2: 我只创建了一个配置服务,为了稳定性更高,一般创建多个服务,一主多从 服务器3:
3.初始化配置服务: 登陆其中一台即可: docker exec -it configsvr0 /bin/bash mongo --host 127.0.0.1 --port 27019 rs.initiate({_id:“rs_configsvr”,configsvr:true,members:[{_id:0,host:“192.168.1.12:10021”}]}) // 如果多台服务器则:members:[{_id:0,host:“192.168.1.12:10021”},{_id:2,host:“192.168.1.12:10022”}]
4.创建分片 docker run --name shardsvr00 -p 10031:27018 -d -v /Users/zhuanglihua/mongodb/data/shardsvr00:/data/db mongo --shardsvr --replSet “rs_shardsvr0” –bind_ip_all;
docker run --name shardsvr10 -p 10041:27018 -d -v /Users/zhuanglihua/mongodb/data/shardsvr10:/data/db mongo --shardsvr --replSet “rs_shardsvr1” –bind_ip_all;
- 分别登陆shardsvr00、shardsvr10容器 ,进入mongo初始化副本集
docker exec -it shardsvr00 /bin/bash mongo --host 127.0.0.1 --port 27018 rs.initiate({_id: “rs_shardsvr0”,members: [{ _id: 0, host : “192.168.1.12:10031” }]});
docker exec -it shardsvr10 /bin/bash mongo --host 127.0.0.1 --port 27018 rs.initiate({_id: “rs_shardsvr1”,members: [{ _id: 0, host : “192.168.1.12:10041” }]});
6.创建mongos路由服务,连接mongos到分片集群 docker run --name mongos0 -d -p 20000:27017 --entrypoint “mongos” mongo --configdb rs_configsvr/192.168.1.12:10021 --bind_ip_all
7.添加分片到集群 docker exec -it mongos0 bin/bash mongo --host 127.0.0.1 --port 27017 sh.addShard(“rs_shardsvr0/192.168.1.12:10031”) sh.addShard(“rs_shardsvr1/192.168.1.12:10041”) ---------- 搭建完成 end -------
--------- 查 ---------- 这里直接进入路由服务器查了 docker exec -it mongos0 bin/bash 登陆mongo: mongo --host 127.0.0.1 --port 27017
创建库: use testtest 插入数据: db.user.insert({“id”:1,“name”:“jack”}); 或批量插入:for(i=1;i<=10000;i++){db.user.insert({“id”:i,“name”:“jack”+i})} #模拟往calon数据库的user表写入1万数据
------- 通过mongo客户端查 ---------
|