mongodb分布式集群部署过程

docker搭建借鉴文章:https://www.jianshu.com/p/163a60aec26e
非docker搭建借鉴文章:https://blog.csdn.net/kevinmcy/article/details/82712074

  1. 下载镜像
    docker pull mongo

  2. 创建配置服务
    服务器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;

  1. 分别登陆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客户端查 ---------

你可能感兴趣的:(其他,mongodb,分布式,docker)