yum 安装mongodb 配置复制集 (主从复制)
admin
2023-03-02 00:01:44
0

一.配置yum 仓库

vim /etc/yum.repos.d/mongodb-org-4.2.repo #新建仓库文件

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

yum 安装mongodb 配置复制集 (主从复制)
几个包的作用
1.mongodb-org-server: 主程序包含MongoDB守护进程和相关的配置和初始化脚本。
2.mongodb-org-mongos: 包含mongos的守护进程。(切片分库使用的)
3.mongodb-org-shell: 包含mongo shell。
4.mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。

二.安装

 yum install mongodb-org -y

三.配置复制集
先安装好两个节点,在配置每个节点的配置,配置除了监听IP不一样其均一样配置
vim /etc/mongo.conf

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

net:
  port: 27017
  bindIp: 192.168.0.11

replication:  #开启复制集功能
    replSetName: test-rc #名称注意不能顶格写否则报错

mongo -host 192.168.0.9 #进入节点

rs.status() #查看复制集状态
yum 安装mongodb 配置复制集 (主从复制)
两个节点都和上图一样说明复制集正常启动了
cfg={"_id":"test-rc","members":[{"_id":0,"host":"192.168.0.9:27017"},{"_id":1,"host":"192.168.0.11:27017"}]}
#定义初始化参数,将两个host主机加入到test-rc复制集当中
rs.initiate(cfg) #启动复制集功能(初始化配置时要保证从节点没有数据)
rs.status() 查看复制集状态
yum 安装mongodb 配置复制集 (主从复制)

三,增加新节点,删除节点

现在192.168.0.13 新节点上安装好mongodb 配置里加入复制集并启动起来
登录主节点
rs.add("192.168.0.13:27017") #加入新的节点
yum 安装mongodb 配置复制集 (主从复制)
re.status()
yum 安装mongodb 配置复制集 (主从复制)
查看复制集状态,可以看到192.168.0.13节点已然在线了
rs.remove("192.168.0.13:27017") #删除节点
yum 安装mongodb 配置复制集 (主从复制)
再用rs.status()查看下,可以发现已经没有192.168.0.13节点的信息了

四,手动切换节点

rs.freeze(30) #暂停30s 不参与选举
rs.stepDown(60,30) #交出主节点位置,维持从节点状态不少于60秒,等待30秒使主节点和从节点日志同步(用于切换)

五,设置从节点可读

db.getMongo().setSlaveOk() #设置从节点可读
yum 安装mongodb 配置复制集 (主从复制)
主节点
yum 安装mongodb 配置复制集 (主从复制)
从节点

六,备份恢复

mongodump --port 20000 --host 192.168.0.9 -d testdb -o /root/test
#只备份testdb 数据库,备份到/root/test/ 路径 注意 上面有两个--
mongorestore -d k1 /root/test/testdb/
#把/root/test/testdb/ 里的备份的数据,恢复成k1数据库
mongodump --port 20000 --host 192.168.0.9 -o /root/all
#备份所有数据
mongoexport --port 20000 --host 192.168.0.9 -d testdb -c table1 -o /root/table1.json
#只备份testdb库里的 table1 表
mongoimport --host 192.168.0.14 -d k1 -c table2 --file=/root/table1.json
#把/root/table1.json 的数据恢复到k1库 table2 表

相关内容

热门资讯

邮轮暴发汉坦病毒疫情,世卫确认... 据凤凰卫视报道,大西洋邮轮“洪迪厄斯”号暴发汉坦病毒疫情,世界卫生组识5月7日证实,船上共有5宗确诊...
内蒙古赤峰两村半个多世纪的土地... 澎湃新闻记者 王选辉争议土地大北叉沟。本文图均为 受访者 提供备受社会关注的“赤峰两村半个多世纪的土...
冥王星5月8日开启逆行 持续约... 被“逐出”太阳系大行星序列的冥王星5月8日将结束顺行,开启为期约5个月的逆行。这也是2026年冥王星...
夸大AI功能被起诉 苹果2.5... 当地时间5月5日,因夸大AI系统“苹果智能”(Apple Intelligence)的能力,误导数百...
学习机直播乱象调查:主播打北大... 极目新闻记者 刘闪 何佳仪打开短视频平台,各类学习机测评直播间随处可见。一些自诩自己是“老师”的主播...
即日起,郑州“错峰加油”有优惠... 进入5月,又到了郑州臭氧污染频发的季节,记者从郑州市生态环境局移动源污染监管处了解到,为减少臭氧污染...
汗水写热爱 篮球致青春 成人组1VS1比赛。河南日报全媒体记者 黄晖 摄“非常高兴能够参加这种全民赛事,也希望以后能够有更多...
荷兰六六民主党全国办公室遭爆炸... 荷兰警方7日说,荷兰执政党之一的六六民主党位于海牙的全国办公室当晚遭爆炸物袭击,造成建筑受损,无人受...
樱花树油烟机总是开不了怎么回事 电源问题。先检查电源是否未插上或是否电,若没有,将它重新插好,等待来电后测试,检查开不了机的问题是否...
燃气灶打火后一会就灭是什么原因 原因可能是电池没有电了,所以一开始能够打着火,但是燃烧了一会儿又熄灭了,这种情况下可以尝试更换一节新...