设为首页 收藏本站
查看: 1342|回复: 0

[经验分享] Centos6.5搭建mongodb分片

[复制链接]

尚未签到

发表于 2018-10-25 12:58:47 | 显示全部楼层 |阅读模式
DSC0000.png

  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tgz
  是我使用的版本
  1、准备3个实例:
  10.0.0.13
  10.0.0.18
  10.0.0.19
  2、规划5个组件对应的端口号,由于一个机器需要同时部署 mongos、config server 、shard1、shard2、shard3,所以需要用端口进行区分。
  这个端口可以自由定义,在本文 mongos为 3717, config server 为 3710, shard1为 3711 , shard2为3712, shard3为3713
  3、在每一台服务器分别启动配置服务器。
  /opt/mongodb-cluster/bin/mongod --configsvr --dbpath /opt/mongodb-cluster/config/data --port 3710 --logpath /opt/mongodb-cluster/config/var/config.log --fork
  4、在每一台服务器分别启动mongos服务器。
  /opt/mongodb-cluster/bin/mongos  --configdb 10.0.0.13:3710,10.0.0.18:3710,10.0.0.19:3710  --port 3717 --logpath  /opt/mongodb-cluster/mongos/var/mongos.log --fork
  5、配置各个分片的副本集。
  #在每个机器里分别设置分片1服务器及副本集shard1
  /opt/mongodb-cluster/bin/mongod --shardsvr --replSet shard1 --port 3711 --dbpath /opt/mongodb-cluster/shard1/data  --logpath /opt/mongodb-cluster/shard1/var/shard1.log --fork
  #在每个机器里分别设置分片2服务器及副本集shard2
  /opt/mongodb-cluster/bin/mongod --shardsvr --replSet shard2 --port 3712 --dbpath /opt/mongodb-cluster/shard2/data  --logpath /opt/mongodb-cluster/shard2/var/shard2.log --fork
  #在每个机器里分别设置分片3服务器及副本集shard3
  /opt/mongodb-cluster/bin/mongod --shardsvr --replSet shard3 --port 3713 --dbpath /opt/mongodb-cluster/shard3/data  --logpath /opt/mongodb-cluster/shard3/var/shard3.log --fork
  #设置第一个分片副本集
  /opt/mongodb-cluster/bin/mongo  127.0.0.1:3711
  #使用admin数据库
  use admin
  #定义副本集配置
  config = { _id:"shard1", members:[
  {_id:0,host:"10.0.0.13:3711"},
  {_id:1,host:"10.0.0.18:3711"},
  {_id:2,host:"10.0.0.19:3711",arbiterOnly:true }
  ]
  }
  #初始化副本集配置
  rs.initiate(config);
  #设置第二个分片副本集
  /opt/mongodb-cluster/bin/mongo  127.0.0.1:3712
  #使用admin数据库
  use admin
  #定义副本集配置
  config = { _id:"shard2", members:[
  {_id:0,host:"10.0.0.13:3712",arbiterOnly:true },
  {_id:1,host:"10.0.0.18:3712"},
  {_id:2,host:"10.0.0.19:3712"}
  ]
  }
  #初始化副本集配置
  rs.initiate(config);
  #设置第三个分片副本集
  /opt/mongodb-cluster/bin/mongo    127.0.0.1:3713
  #使用admin数据库
  use admin
  #定义副本集配置
  config = { _id:"shard3", members:[
  {_id:0,host:"10.0.0.13:3713"},
  {_id:1,host:"10.0.0.18:3713",arbiterOnly:true },
  {_id:2,host:"10.0.0.19:3713"}
  ]
  }
  #初始化副本集配置
  rs.initiate(config);
  6、目前搭建了mongodb配置服务器、路由服务器,各个分片服务器,不过应用程序连接到 mongos 路由服务器并不能使用分片机制,还需要在程序里设置分片配置,让分片生效。
  #连接到mongos
  /opt/mongodb-cluster/bin/mongo  127.0.0.1:3717
  #使用admin数据库
  user  admin
  #串联路由服务器与分配副本集1
  db.runCommand( { addshard : "shard1/10.0.0.13:3711,10.0.0.18:3711,10.0.0.19:3711"});
  如里shard是单台服务器,用 db.runCommand( { addshard : “[: ]” } )这样的命令加入,如果shard是副本集,用db.runCommand( { addshard : “replicaSetName/[:port][,serverhostname2[:port],…]” });这样的格式表示 。
  #串联路由服务器与分配副本集2
  db.runCommand( { addshard : "shard2/10.0.0.13:3712,10.0.0.18:3712,10.0.0.19:3712"});
  #串联路由服务器与分配副本集3
  db.runCommand( { addshard : "shard3/10.0.0.13:3713,10.0.0.18:3713,10.0.0.19:3713"});
  #查看分片服务器的配置
  db.runCommand( { listshards : 1 } );
  7、目前配置服务、路由服务、分片服务、副本集服务都已经串联起来了,但我们的目的是希望插入数据,数据能够自动分片,就差那么一点点,一点点。。。连接在mongos上,准备让指定的数据库、指定的集合分片生效。
  #指定testdb分片生效
  db.runCommand( { enablesharding :"testdb"});
  #指定数据库里需要分片的集合和片键
  db.runCommand( { shardcollection : "testdb.table1",key : {id: 1} } )


  •   我们设置testdb的 table1 表需要分片,根据>
  8、测试分片配置结果。
  #连接mongos服务器
  /opt/mongodb-cluster/bin/mongo  127.0.0.1:3717
  #使用testdb
  use  testdb;
  #插入测试数据
  for (var i = 1; i

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626379-1-1.html 上篇帖子: Mongodb最大连接数优化 下篇帖子: MongoDB自然排序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表