千家信息网

mongodb3.4.4安装副本集,分片和遇到的一些问题(一

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,废话不多说三台机器host1,host2,host3查看官方安装文档https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-ha
千家信息网最后更新 2026年11月03日mongodb3.4.4安装副本集,分片和遇到的一些问题(一

废话不多说

三台机器

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=1enabled=1gpgkey=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 runsprocessManagement:  fork: true  # fork and run in background  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile# network interfacesnet:  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秒内该节点不可以变成主节点,单位秒


配置 节点 数据 副本 文件 端口 算法 选举 也就是 也就是说 时间 过程 集群 差不多 两个 之间 位置 单位 只是 名字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技官网 天下捷融互联网科技 广西拼得多互联网科技有限公司 互联网之后的科技是什么 欧洲十大科技互联网公司 团飞科技与伯堂互联网服务平台 重庆威客帮互联网科技 金融科技与互联网金融相同和不同 互联网科技公司有风险吗 哈尔滨屹滨互联网科技有限公司 开一家科技互联网公司需要多少钱 国大互联网教育科技有限公司工作 中和天地互联网科技有限公司 上海科技产业互联网平台 启辰互联网科技 东营紫格互联网科技 扫呗互联网科技有限公司 互联网科技博主张洲 广东猫王互联网科技有限公司电话 互联网科技工作委员会副主任毛军 互联网科技的英文 互联网科技缩写 猫创互联网科技 互联网科技有哪些公司 移动互联网科技公司 互联网科技机房 长沙渺峰互联网科技有限公司 互联网科技的前景 现代科技的标志之一的互联网
0