mongodb笔记之复制集

环境准备:
多实例:

多个端口:28017、28018、28019、28020
多个目录

mkdir -p /mongodb/28017/conf /mongodb/28017/data /mongodb/28017/log
mkdir -p /mongodb/28018/conf /mongodb/28018/data /mongodb/28018/log
mkdir -p /mongodb/28019/conf /mongodb/28019/data /mongodb/28019/log
mkdir -p /mongodb/28020/conf /mongodb/28020/data /mongodb/28020/log

多套配置文件

/mongodb/28017/conf/mongod.conf
/mongodb/28018/conf/mongod.conf
/mongodb/28019/conf/mongod.conf
/mongodb/28020/conf/mongod.conf

配置文件内容

vim /mongodb/28017/conf/mongod.conf
systemLog:
  destination: file
  path: /mongodb/28017/log/mongodb.log
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: /mongodb/28017/data
  directoryPerDB: true
  #engine: wiredTiger
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
      directoryForIndexes: true
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true
processManagement:
  fork: true
net:
  port: 28017
replication:
  oplogSizeMB: 2048
  replSetName: my_repl

创建多个

cp  /mongodb/28017/conf/mongod.conf  /mongodb/28018/conf/
cp  /mongodb/28017/conf/mongod.conf  /mongodb/28019/conf/
cp  /mongodb/28017/conf/mongod.conf  /mongodb/28020/conf/

sed 's#28017#28018#g' /mongodb/28018/conf/mongod.conf -i
sed 's#28017#28019#g' /mongodb/28019/conf/mongod.conf -i
sed 's#28017#28020#g' /mongodb/28020/conf/mongod.conf -i

启动多个实例备用

mongod -f /mongodb/28017/conf/mongod.conf
mongod -f /mongodb/28018/conf/mongod.conf
mongod -f /mongodb/28019/conf/mongod.conf
mongod -f /mongodb/28020/conf/mongod.conf

检查是否启动
在这里插入图片描述

配置复制集:
1主2从,从库普通从库

启动一台,

  mongo --port 28017 admin

配置

config = {_id: 'my_repl', members: [
                          {_id: 0, host: '10.0.0.53:28017'},
                          {_id: 1, host: '10.0.0.53:28018'},
                          {_id: 2, host: '10.0.0.53:28019'}]
          }

PS:my_repl为之前配置文件中的 replSetName: my_repl 必须一致
启动

 		  rs.initiate(config) 

检查复制集状态rs.status()(截取部分)

在这里插入图片描述“ts” : Timestamp(1543821466, 1) ----->复制集中,对于复制日志(oplog)每一个操作的唯一号码,在某个时间点运行的第几个操作

在搭建时添加arbiter节点
1主1从1个arbiter
添加 arbiter节点

连接到主节点

[mongod@db03 ~]$ mongo --port 28018 admin

添加仲裁节点

my_repl:PRIMARY> rs.addArb("10.0.0.53:28020")

查看节点状态

my_repl:PRIMARY> rs.isMaster()
{
	"hosts" : [
		"10.0.0.53:28017",
		"10.0.0.53:28018",
		"10.0.0.53:28019"
	],
	"arbiters" : [
		"10.0.0.53:28020"
	],

在这里插入图片描述

复制集管理操作:
查看复制集状态:
rs.status();    //查看整体复制集状态
rs.isMaster(); // 查看当前是否是主节点
添加删除节点
rs.remove("ip:port"); // 删除一个节点
rs.add("ip:port"); // 新增从节点
rs.addArb("ip:port"); // 新增仲裁节点

rs.remove(“ip:port”); // 删除一个节点
例子

my_repl:PRIMARY> rs.remove("10.0.0.53:28019");
{ "ok" : 1 }

rs.add(“ip:port”); // 新增从节点
例子

my_repl:PRIMARY> rs.add("10.0.0.53:28019")
{ "ok" : 1 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值