Mongodb集群Docker一键部署文档

Mongodb集群Docker一键部署文档

1、copy文件

将文件夹server1、server2、server3分别拷到machine-1、machine-2和machine-3的“数据盘”的mongodb(需要自己新建)目录下;

2、运行启动实例脚本

# 进入machine-1的server1文件夹下运行
sh deploy_mongo_start_1.sh cacheSizeGB
# 进入machine-2的server2文件夹下运行
sh deploy_mongo_start_2.sh cacheSizeGB
# 进入machine-3的server3文件夹下运行
sh deploy_mongo_start_3.sh cacheSizeGB
# 注意cacheSizeGB为实例限制内存大小,不传默认2G;实际情况根据mongodb可用内存设置,4G可用->1G限制,
# 8G可用->3G限制,16G可用->4G限制,32G可用->8G限制,数值必须为整数;

3、运行配置实例脚本

# 进入machine-1的server1文件夹下运行
sh deploy_mongo_config_1.sh machine-1-ip machine-2-ip machine-3-ip
# 进入machine-2的server2文件夹下运行
sh deploy_mongo_config_3.sh machine-1-ip machine-2-ip machine-3-ip
# 进入machine-3的server3文件夹下运行
sh deploy_mongo_config_3.sh machine-1-ip machine-2-ip machine-3-ip
# 注意:machine-1-ip machine-2-ip machine-3-ip 均为内网ip,顺序不能随意改动,不然会影响配置结果

4、检查集群是否成功

#在machine-3的机器上执行
docker exec -it mongos bash;
mongo --port 20001 ctu -u root -p *** --authenticationDatabase admin;
db.stats();             #查看库分片【有rs1 、rs2、rs3】
db.mobileIndex.stats() #查看集合是否分片成功【"sharded" : true】
db.mobileToken.stats() #查看集合是否分片成功【"sharded" : true】
db.webDevice.stats()   #查看集合是否分片成功【sharded" : true】
# 测试数据
for(var i=1;i<=100000;i++) db.mobileToken.save({token:Math.random()*10000000000000000,hardId:"1234567890",createIp:"127.0.0.1",index:"1234567890",osType:"1"});
# 查看数据分片情况
 db.getCollection('mobileToken').getShardDistribution(); 
 # 删除测试数据
 db.getCollection('mobileToken').remove({});

部署镜像和脚本我后面放到百度云,如有需要可以私信我

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,124评论 2 89
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,695评论 15 147
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 9,259评论 2 49
  • 一:对象的属性 1:属性速记法: 2:属性可以通过.或者[]引用内部属性:[]方括号允许你将变量或者字符串字面量指...
    IDO0阅读 1,436评论 0 0
  • 习惯了懒惰之后,临时抱佛脚都显得那么力不从心。尽管如此,至少撑过这个月吧。。。
    米虫的日常阅读 1,495评论 0 0