- 
            
            六、生产环境维护复制集 1. 需要停服务维护时,请以单机模式启动 rs.stepDown(10) # 主节点降级 rs.freeze(600) # 冻结600秒 kill -2 进程号 进配置文件注释#replSet mongod -f 配置文件 此时就是以单机模式启动 2. 生产维护复制集的场景: 1)修改复制集成员属性 rs.reconfig() 2)人工干预选举:修改priority值;rs.freeze();rs.stepDown() 3)创建索引:比较耗费数据库性能,最好单机模式操作 db.表名.ensureIndex({background:true}) 4)调整oplog大小 ⑴ 将成员以单机模式启动:见上栗1. ⑵ 将oplog最新的一条操作保存到临时表中: db.temp.save(db.oplog.rs.find().sort({$natural:-1}).limit(1).next()) db.temp.find() ⑶ 删除原来的oplog.rs集合 db.oplog.rs.drop() ⑷ 以创建封顶表的方式创建新的oplog.rs db.createCollection("oplog.rs",{capped:true, size:3*1024*1024*1024}) ⑸ 将之前保存的原oplog.rs中最新的操作插入到新建的oplog.rs中 db.oplog.rs.save(db.temp.findOne()) ⑹ 将单机模式的节点返回到复制集中 kill -2 进程号 进配置文件取消注释replSet mongod -f 配置文件 ⑺ 进入节点查看oplog大小 use local db.oplog.rs.stats(1024*1024) 查看全部
- 
            
            副本集 查看全部
- 
            
            更新oplogSize 1.将成员以单机模式启动 2.将oplog最新的一条操作保存到临时表里 db.oplog.rs.find().sort({$natural:-1}).limit(1) 3.db.temp.save(db.oplog.rs.find().sort({$natural:-1}).limit(1).next()) #固定的,牢记! 4.删除原来的oplog.rs集合 db.oplog.rs.drop() 5.以创建封顶表方式,创建新的oplog.rs db.createCollection("oplog.rs",{capped:tre,size:1024*1024*1024*3}) 6.将之前保存的原oplog中最新的操作保存到新的oplog中 db.oplog.rs.save(db.temp.findOne()) db.oplog.rs.count() db.oplog.rs.find() 7.将单机节点模式返回到复制集模式中 kill -2|15 pid 温柔的杀死 vi xxx.conf 解开注释点 启动复制节点查看全部
- 
            
            1.人工干预选举,priority权重,rs.freeze()冷冻,rs.stepDown()降级 2.创建索引 背景:主节点,又连接,请求特别多(rw),其他从节点也有很多r操作 Db.coll.ensureIndex({background:true})在空闲情况下创建索引,但是还是会有影响 解决办法:如果是主节点的话,先降级到从节点,然后转为单机模式启动,然后创建索引。就可以随心所欲的创建索引,从而不影响线上。等创建完毕,再恢复成复制集成员,再将其他类似节点安装以上方法依次创建。查看全部
- 
            
            1.修改其中一个节点members[0].priority=5,使其一直为主节点primary。 使修改的配置生效,rs.reconfig(config)查看全部
- 
            
            复制集管理维护的几样工作: 1.注释repSet配置文件,或者primary中rs.remove("192.168.1.20:27004")移除查看全部
- 
            
            启动mongod的shell脚本 #!/bin/bash port=$1 mongodhome=/application/mongodb-3.4.5 numactl --interleave=all $mongodhome/bin/mongod --config $mongodhome/conf/$port.conf查看全部
- 
            
            1.在复制集中加入1个节点 a.config=rs.conf config.members[1]来添加一个节点 b.rs.add()普通节点 | rs.addArb() Arbiter节点 配置好28001.conf,data数据存放点,log日志存放点,启动后。 rs.conf() rs.add("192.168.1.1:28004") 再次查看rs.conf() 到28004节点查看是否已经加入复制集。查看全部
- 
            
            oplog大小及意义: 默认大小为linux/window当前系统分区可用空间5%,体积不会超过50G --oplogSize查看全部
- 
            
            封顶表Capped colletion滚动覆盖写入,固定大小。 max:5000最好不要指定,指定大小size即可。查看全部
- 
            
            复制集复制原理:异步复制机制! oplog查看全部
- 
            
            复制集合工作 初始化同步 管理维护查看全部
- 
            
            一些热数据(经常信息修改的数据)会放置再内存中,当进行clone操作时会有可能将内存中的数据替换 所以建业在业务进行较少时进行查看全部
- 
            
            复制集的时间窗口会应为clone和建立索引错过主表的更新查看全部
- 
            
            新加入节点 要drop以前的数据查看全部
- 
            
            封顶表可以在启动配置文件中设置大小 单位mb查看全部
- 
            
            创建封顶表的语法 注capped是关键查看全部
- 
            
            op对应操作类型查看全部
- 
            
            复制集工作原理查看全部
举报
 
             
         
                 
                 
                