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
几个包的作用
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() #查看复制集状态
两个节点都和上图一样说明复制集正常启动了
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() 查看复制集状态三,增加新节点,删除节点
现在192.168.0.13 新节点上安装好mongodb 配置里加入复制集并启动起来
登录主节点
rs.add("192.168.0.13:27017") #加入新的节点
re.status()
查看复制集状态,可以看到192.168.0.13节点已然在线了
rs.remove("192.168.0.13:27017") #删除节点
再用rs.status()查看下,可以发现已经没有192.168.0.13节点的信息了四,手动切换节点
rs.freeze(30) #暂停30s 不参与选举
rs.stepDown(60,30) #交出主节点位置,维持从节点状态不少于60秒,等待30秒使主节点和从节点日志同步(用于切换)五,设置从节点可读
db.getMongo().setSlaveOk() #设置从节点可读
主节点
从节点
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 表
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。