MongDB企业级架构
2021-06-20 18:05:35 0 举报
MongDB企业级架构图及Docker部署
作者其他创作
大纲/内容
客户端连接路由,准备写数据时线从配置服务获取数据目录。如A-B开头的数据写在分片A,可以直接连分片A集群把数据写到分片A。客户端读也是同理
路由2
从A集群
B仲裁
从B集群
主B
分片B
路由1
分片C
配置服务,数据目录
# 1.副本集docker pull mongomkdir -p /app/docker/mongo1/db #创建挂载的db目录mkdir -p /app/docker/mongo2/db #创建挂载的db目录mkdir -p /app/docker/mongo3/db #创建挂载的db目录#第一台:docker run --name mongo-server1 -p 30001:27017 --restart=always -v /app/docker/mongo1/db:/data/db -v /etc/localtime:/etc/localtime -d mongo --replSet \"rs0\" --bind_ip_all#第二台:docker run --name mongo-server2 -p 30002:27018 --restart=always -v /app/docker/mongo2/db:/data/db -v /etc/localtime:/etc/localtime -d mongo --replSet \"rs0\" --bind_ip_all#第三台:docker run --name mongo-server3 -p 30003:27019 --restart=always -v /app/docker/mongo3/db:/data/db -v /etc/localtime:/etc/localtime -d mongo --replSet \"rs0\" --bind_ip_all#进入容器 进入主的容器docker exec -it mongo-server1 bash #连接客户端mongors.initiate()rs.add(\"localhost:30002\") rs.addArb(\"localhost:30003\")#如果想要在从节点查询(默认是客户端直连是不可查询的)如果想要在端口30002 从服务上执行查询,则连接上之后需要执行 db.getMongo().setSlaveOk();#2.分片## 2.1下载 mongo最新版本docker pull mongo ## 2.2创建配置服务复制集192.198.1.201 docker run -d --name configsvr0 -p 10021:27019 -v /home/mongodb/data/cs/configsvr0:/data/configdb mongo --configsvr --replSet \"rs_configsvr\" --bind_ip_all 192.198.1.202 docker run -d --name configsvr1 -p 10022:27019 -v /home/mongodb/data/cs/configsvr1:/data/configdb mongo --configsvr --replSet \"rs_configsvr\" --bind_ip_all 192.198.1.203 docker run -d --name configsvr2 -p 10023:27019 -v /home/mongodb/data/cs/configsvr2:/data/configdb mongo --configsvr --replSet \"rs_configsvr\" --bind_ip_all## 2.3初始化配置服务复制集:192.168.3.201上执行docker exec -it configsvr0 bashmongo --host 192.168.1.201 --port 10021 rs.initiate( { _id: \"rs_configsvr\
主A
Config Server1
路由3
Config Server3
Config Server2
A仲裁
路由服务
C仲裁
从C集群
分片A
主C
收藏
0 条评论
下一页