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

[经验分享] mongodb3.4.4安装副本集,分片和遇到的一些问题(一)

[复制链接]

尚未签到

发表于 2018-10-25 09:04:25 | 显示全部楼层 |阅读模式
  废话不多说
  三台机器
  host1,host2,host3
  查看官方安装文档https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
  编辑源文件
  vim /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]  
name=MongoDB
  
Repositorybaseurl=gpgcheck=1
  
enabled=1
  
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
  安装
yum install -y mongodb-org  由于我是在3台虚拟机上做的,宿主机其实是一个,所以配置了3个端口,
  注意:mongod的配置文件遵循yaml文件格式!
[root@vultr ~]# cat /etc/mongod.conf  
# mongod.conf
  

  
# for documentation of all options, see:
  
#   http://docs.mongodb.org/manual/reference/configuration-options/
  

  
# where to write logging data.
  
systemLog:
  
  destination: file
  
  logAppend: true
  
  path: /var/log/mongodb/mongod.log
  

  
# Where and how to store data.
  
storage:
  
  dbPath: /var/lib/mongo
  
  journal:
  
    enabled: true
  
#  engine:
  
#  mmapv1:
  
#  wiredTiger:
  

  
# how the process runs
  
processManagement:
  
  fork: true  # fork and run in background
  
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  

  
# network interfaces
  
net:
  
  port: 27017
  
#  bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.
  

  

  
#security:
  
#keyFile = /opt/key/autokey
  
#operationProfiling:
  

  
#replication:
  
replication:
  
   oplogSizeMB: 1000
  
   replSetName: rstest
  
#sharding:
  

  
## Enterprise-Only Options
  

  
#auditLog:
  

  
#snmp:
  基本上是默认配置,dbdata位置和log目录看具体情况,酌情修改,bindip 默认是打开的,注销了,不然mongo只会本地访问
  启动
  mongod -f /etc/mongod.conf
  这时可以随便进入一台mongod 进行副本集的初始化
  mongo 进入,默认是27017端口,但是如果改变端口,就要用mongo ip:port的方式了
  首先加载配置
config={_id:"rstest",members:[{_id:0,host:"host1:port"},{_id:1,host:"host2:port"},{_id:2,host:"host3:port"}]}  
##_id 必须是配置文件中副本集的名字
  副本集初始化
rs.initiate(config)  这里有一点要注意,要保证每台mongodb的之间的连通性,和每个mongo都是空数据,不然在建立副本集的时候会报错,如果数据库不是空的,必须要先剔除副本集,然后删除db.dropDatabase()
  最后配置生效
rs.reconfig(config)  日常的横向扩展和伸缩,以及手动配置主节点
PRIMARY> rs.add("127.0.0.1:27018");   //添加节点  
PRIMARY> rs.remove("127.0.0.1:27018"); //删除节
  
这两个命令是不需要做rs.reconfig(config)配置生效的
  
rs.conf()// 查看配置
  
config=rs.conf() //读取配置
  
config.members[1].priority = N // N = 1到100 越大越优先变主节点
  
rs.reconfig(config) //让配置生效,一会就host2 就会变成主节点
  选举的算法:
  mongodb 集群的选择局算法其实和zookeeper差不多,区别在于用的是bully算法,mongod 会先对比谁是最后一次进行数据操作的,也就是说,谁的数据最新,如果数据一样,那么就会对比谁可以用最短的时间成为主节点,选举过程和zookeeper一样,只是对比k-v不太一样。
  另外,在集群的选举过程中,不想让某个从节点变成主节点,可以用
rs.freeze(120) //小括号里的数据是冻结时间,也就是说在120秒内该节点不可以变成主节点,单位秒


运维网声明 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-626161-1-1.html 上篇帖子: mongodb set开启认证的安装配置 下篇帖子: mongodb3.4.4安装副本集,wt引擎配置优化(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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