mongodb副本集部署


mongodb副本集部署

1. mongo部署副本集集群
1.1 环境
  • centos7.5
  • 4G内存
  • cpu:4核
1.2 集群拓扑图

1.3 下载二进制包
  • 本次部署集群所使用mongodb版本为3.6.20

    官网下载地址:https://www.mongodb.com/try/download/community
    
1.4 副本集集群内服务器划分
节点ip端口
mongodb_01192.168.31.1127017
mongodb_02192.168.31.1227017
mongodb_03192.168.31.1327017
1.5 规划数据目录
1.5.1 mongodb_01
  • 创建安装目录

    [root@mongodb_01 ~]# mkdir /hdata/mongo_data/{data,log,conf,keyfile} -pv
    mkdir: 已创建目录 "/hdata"
    mkdir: 已创建目录 "/hdata/mongo_data"
    mkdir: 已创建目录 "/hdata/mongo_data/data"
    mkdir: 已创建目录 "/hdata/mongo_data/log"
    mkdir: 已创建目录 "/hdata/mongo_data/conf"
    mkdir: 已创建目录 "/hdata/mongo_data/keyfile"
    
  • 软件路径

    [root@mongodb_01 ~]# mkdir /opt/software -pv
    mkdir: 已创建目录 "/opt/software"
    
  • 将mongodb二进制文件解压到/opt/software

    [root@mongodb_01 software]# tar xf mongodb-linux-x86_64-rhel70-3.6.20.tgz -C /opt/software/
    [root@mongodb_01 software]# ll
    总用量 119116
    drwxr-xr-x. 3 root root       135 9月  21 15:03 mongodb-linux-x86_64-rhel70-3.6.20
    -rw-r--r--. 1 root root 121973145 9月  21 15:00 mongodb-linux-x86_64-rhel70-3.6.20.tgz
    
1.5.2 mongodb_02

同1.5.1操作

1.5.3 mongodb_03

同1.5.1操作

1.6 创建mongodb配置文件
[root@mongodb_01 ~]# vim /hdata/mongo_data/conf/mongod.conf
# mongod.conf

systemLog:
  destination: file
  logAppend: true
  path: /hdata/mongo_data/log/mongod.log
storage:
  dbPath: /hdata/mongo_data/data
  journal:
    enabled: true
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /hdata/mongo_data/log/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo
net:
  port: 27017
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.
#security:
#  authorization: enabled
#  keyFile: /home/mongodb/37017/keyfile/keyfile

# 设置副本集名称
replication:
  replSetName: "rs01"
  • 将mongodb_01的配置文件拷贝到另外2个节点

    # 拷贝到mongodb_02
    [root@mongodb_01 ~]# scp /hdata/mongo_data/conf/mongod.conf 192.168.31.12:/hdata/mongo_data/conf/
    # 拷贝到mongodb_03上
    [root@mongodb_01 ~]# scp /hdata/mongo_data/conf/mongod.conf 192.168.31.13:/hdata/mongo_data/conf/
    
1.7 分别启动mongodb
  • mongodb_01

    [root@mongodb_01 ~]# /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -f /hdata/mongo_data/conf/mongod.conf 
    about to fork child process, waiting until server is ready for connections.
    forked process: 2402
    child process started successfully, parent exiting
    [root@mongodb_01 ~]# ss -nutl | grep 27017
    tcp    LISTEN     0      128       *:27017                 *:*
    
  • mongodb_02

    [root@mongodb_02 ~]# /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -f /hdata/mongo_data/conf/mongod.conf
    about to fork child process, waiting until server is ready for connections.
    forked process: 4418
    child process started successfully, parent exiting
    [root@mongodb_02 ~]# ss -nutl | grep 27017
    tcp    LISTEN     0      128       *:27017                 *:*
    
  • mongodb_03

    [root@mongodb_03 ~]# /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -f /hdata/mongo_data/conf/mongod.conf
    about to fork child process, waiting until server is ready for connections.
    forked process: 4453
    child process started successfully, parent exiting
    [root@mongodb_03 ~]# ss -nutl | grep 27017
    tcp    LISTEN     0      128       *:27017                 *:*
    
1.8 任意登陆一个节点
1.8.1 开启副本集集群
[root@mongodb_01 ~]# /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongo
# 创建副本集配置文件
> conf={"_id":"rs01","members":[{"_id":0,"host":"192.168.31.11:27017"},{"_id":1,"host":"192.168.31.12:27017"},{"_id":2,"host":"192.168.31.13:27017"}]}
{
	"_id" : "rs01",
	"members" : [
		{
			"_id" : 0,
			"host" : "192.168.31.11:27017"
		},
		{
			"_id" : 1,
			"host" : "192.168.31.12:27017"
		},
		{
			"_id" : 2,
			"host" : "192.168.31.13:27017"
		}
	]
}
# 初始化副本集配置文件
> rs.initiate(conf)
{
	"ok" : 1,
	"operationTime" : Timestamp(1600674253, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1600674253, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}
1.8.2 查看副本集集群状态
rs01:SECONDARY> rs.status()
{
	"set" : "rs01",
	"date" : ISODate("2020-09-21T07:45:25.575Z"),
	"myState" : 1,
	"term" : NumberLong(1),
	"syncingTo" : "",
	"syncSourceHost" : "",
	"syncSourceId" : -1,
	"heartbeatIntervalMillis" : NumberLong(2000),
	"optimes" : {
		"lastCommittedOpTime" : {
			"ts" : Timestamp(1600674316, 1),
			"t" : NumberLong(1)
		},
		"readConcernMajorityOpTime" : {
			"ts" : Timestamp(1600674316, 1),
			"t" : NumberLong(1)
		},
		"appliedOpTime" : {
			"ts" : Timestamp(1600674316, 1),
			"t" : NumberLong(1)
		},
		"durableOpTime" : {
			"ts" : Timestamp(1600674316, 1),
			"t" : NumberLong(1)
		}
	},
	"members" : [
		{
			"_id" : 0,										#第一个节点的id号
			"name" : "192.168.31.11:27017",					#第一个节点的ip+port
			"health" : 1,									#第一个节点的健康情况:1表示正常,0表示不正常
			"state" : 1,
			"stateStr" : "PRIMARY",							#第一个节点在副本集的集群状态,primary表示主节点,secondary表示从节点
			"uptime" : 1087,
			"optime" : {
				"ts" : Timestamp(1600674316, 1),
				"t" : NumberLong(1)
			},
			"optimeDate" : ISODate("2020-09-21T07:45:16Z"),
			"syncingTo" : "",
			"syncSourceHost" : "",
			"syncSourceId" : -1,
			"infoMessage" : "could not find member to sync from",
			"electionTime" : Timestamp(1600674264, 1),
			"electionDate" : ISODate("2020-09-21T07:44:24Z"),
			"configVersion" : 1,
			"self" : true,
			"lastHeartbeatMessage" : ""
		},
		{
			"_id" : 1,
			"name" : "192.168.31.12:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 72,
			"optime" : {
				"ts" : Timestamp(1600674316, 1),
				"t" : NumberLong(1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1600674316, 1),
				"t" : NumberLong(1)
			},
			"optimeDate" : ISODate("2020-09-21T07:45:16Z"),
			"optimeDurableDate" : ISODate("2020-09-21T07:45:16Z"),
			"lastHeartbeat" : ISODate("2020-09-21T07:45:24.593Z"),
			"lastHeartbeatRecv" : ISODate("2020-09-21T07:45:25.379Z"),
			"pingMs" : NumberLong(0),
			"lastHeartbeatMessage" : "",
			"syncingTo" : "192.168.31.11:27017",
			"syncSourceHost" : "192.168.31.11:27017",
			"syncSourceId" : 0,
			"infoMessage" : "",
			"configVersion" : 1
		},
		{
			"_id" : 2,
			"name" : "192.168.31.13:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 72,
			"optime" : {
				"ts" : Timestamp(1600674316, 1),
				"t" : NumberLong(1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1600674316, 1),
				"t" : NumberLong(1)
			},
			"optimeDate" : ISODate("2020-09-21T07:45:16Z"),
			"optimeDurableDate" : ISODate("2020-09-21T07:45:16Z"),
			"lastHeartbeat" : ISODate("2020-09-21T07:45:24.592Z"),
			"lastHeartbeatRecv" : ISODate("2020-09-21T07:45:25.379Z"),
			"pingMs" : NumberLong(0),
			"lastHeartbeatMessage" : "",
			"syncingTo" : "192.168.31.11:27017",
			"syncSourceHost" : "192.168.31.11:27017",
			"syncSourceId" : 0,
			"infoMessage" : "",
			"configVersion" : 1
		}
	],
	"ok" : 1,
	"operationTime" : Timestamp(1600674316, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1600674316, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}
1.8.3 查看副本集集群配置
rs01:PRIMARY> rs.conf()
{
	"_id" : "rs01",
	"version" : 1,
	"protocolVersion" : NumberLong(1),
	"members" : [
		{
			"_id" : 0,
			"host" : "192.168.31.11:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,							#该节点的优先级
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 1,
			"host" : "192.168.31.12:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 2,
			"host" : "192.168.31.13:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		}
	],
	"settings" : {
		"chainingAllowed" : true,
		"heartbeatIntervalMillis" : 2000,
		"heartbeatTimeoutSecs" : 10,
		"electionTimeoutMillis" : 10000,
		"catchUpTimeoutMillis" : -1,
		"catchUpTakeoverDelayMillis" : 30000,
		"getLastErrorModes" : {
			
		},
		"getLastErrorDefaults" : {
			"w" : 1,
			"wtimeout" : 0
		},
		"replicaSetId" : ObjectId("5f6859cde1d641b3427af2a7")
	}
}
1.8.4 改变节点优先级,提升为主节点,这里是改变第二台服务器
  • 提升mongodb_02优先级
#自定义服务配置信息
rs01:PRIMARY> cfg=rs.conf()
{
	"_id" : "rs01",
	"version" : 1,
	"protocolVersion" : NumberLong(1),
	"members" : [
		{
			"_id" : 0,
			"host" : "192.168.31.11:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 1,
			"host" : "192.168.31.12:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 2,
			"host" : "192.168.31.13:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 1,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		}
	],
	"settings" : {
		"chainingAllowed" : true,
		"heartbeatIntervalMillis" : 2000,
		"heartbeatTimeoutSecs" : 10,
		"electionTimeoutMillis" : 10000,
		"catchUpTimeoutMillis" : -1,
		"catchUpTakeoverDelayMillis" : 30000,
		"getLastErrorModes" : {
			
		},
		"getLastErrorDefaults" : {
			"w" : 1,
			"wtimeout" : 0
		},
		"replicaSetId" : ObjectId("5f6859cde1d641b3427af2a7")
	}
}
# 修改第二台服务的优先级,id=1,优先级是2
rs01:PRIMARY> cfg.members[1].priority=2
2
# 重新加载配置信息
rs01:PRIMARY> rs.reconfig(cfg)
{
	"ok" : 1,
	"operationTime" : Timestamp(1600675177, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1600675177, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}
  • 重新查看集群配置信息

    rs01:SECONDARY> rs.conf()
    {
    	"_id" : "rs01",
    	"version" : 2,
    	"protocolVersion" : NumberLong(1),
    	"members" : [
    		{
    			"_id" : 0,
    			"host" : "192.168.31.11:27017",
    			"arbiterOnly" : false,
    			"buildIndexes" : true,
    			"hidden" : false,
    			"priority" : 1,
    			"tags" : {
    				
    			},
    			"slaveDelay" : NumberLong(0),
    			"votes" : 1
    		},
    		{
    			"_id" : 1,
    			"host" : "192.168.31.12:27017",
    			"arbiterOnly" : false,
    			"buildIndexes" : true,
    			"hidden" : false,
    			"priority" : 2,
    			"tags" : {
    				
    			},
    			"slaveDelay" : NumberLong(0),
    			"votes" : 1
    		},
    		{
    			"_id" : 2,
    			"host" : "192.168.31.13:27017",
    			"arbiterOnly" : false,
    			"buildIndexes" : true,
    			"hidden" : false,
    			"priority" : 1,
    			"tags" : {
    				
    			},
    			"slaveDelay" : NumberLong(0),
    			"votes" : 1
    		}
    	],
    	"settings" : {
    		"chainingAllowed" : true,
    		"heartbeatIntervalMillis" : 2000,
    		"heartbeatTimeoutSecs" : 10,
    		"electionTimeoutMillis" : 10000,
    		"catchUpTimeoutMillis" : -1,
    		"catchUpTakeoverDelayMillis" : 30000,
    		"getLastErrorModes" : {
    			
    		},
    		"getLastErrorDefaults" : {
    			"w" : 1,
    			"wtimeout" : 0
    		},
    		"replicaSetId" : ObjectId("5f6859cde1d641b3427af2a7")
    	}
    }
    
  • 重新查看集群状态

    rs01:SECONDARY> rs.status()
    {
    	"set" : "rs01",
    	"date" : ISODate("2020-09-21T08:04:54.966Z"),
    	"myState" : 2,
    	"term" : NumberLong(2),
    	"syncingTo" : "192.168.31.13:27017",
    	"syncSourceHost" : "192.168.31.13:27017",
    	"syncSourceId" : 2,
    	"heartbeatIntervalMillis" : NumberLong(2000),
    	"optimes" : {
    		"lastCommittedOpTime" : {
    			"ts" : Timestamp(1600675488, 1),
    			"t" : NumberLong(2)
    		},
    		"readConcernMajorityOpTime" : {
    			"ts" : Timestamp(1600675488, 1),
    			"t" : NumberLong(2)
    		},
    		"appliedOpTime" : {
    			"ts" : Timestamp(1600675488, 1),
    			"t" : NumberLong(2)
    		},
    		"durableOpTime" : {
    			"ts" : Timestamp(1600675488, 1),
    			"t" : NumberLong(2)
    		}
    	},
    	"members" : [
    		{
    			"_id" : 0,
    			"name" : "192.168.31.11:27017",
    			"health" : 1,
    			"state" : 2,
    			"stateStr" : "SECONDARY",
    			"uptime" : 2256,
    			"optime" : {
    				"ts" : Timestamp(1600675488, 1),
    				"t" : NumberLong(2)
    			},
    			"optimeDate" : ISODate("2020-09-21T08:04:48Z"),
    			"syncingTo" : "192.168.31.13:27017",
    			"syncSourceHost" : "192.168.31.13:27017",
    			"syncSourceId" : 2,
    			"infoMessage" : "",
    			"configVersion" : 2,
    			"self" : true,
    			"lastHeartbeatMessage" : ""
    		},
    		{
    			"_id" : 1,
    			"name" : "192.168.31.12:27017",
    			"health" : 1,
    			"state" : 1,
    			"stateStr" : "PRIMARY",											#id为1的服务已提升为主节点
    			"uptime" : 1241,
    			"optime" : {
    				"ts" : Timestamp(1600675488, 1),
    				"t" : NumberLong(2)
    			},
    			"optimeDurable" : {
    				"ts" : Timestamp(1600675488, 1),
    				"t" : NumberLong(2)
    			},
    			"optimeDate" : ISODate("2020-09-21T08:04:48Z"),
    			"optimeDurableDate" : ISODate("2020-09-21T08:04:48Z"),
    			"lastHeartbeat" : ISODate("2020-09-21T08:04:53.510Z"),
    			"lastHeartbeatRecv" : ISODate("2020-09-21T08:04:54.489Z"),
    			"pingMs" : NumberLong(0),
    			"lastHeartbeatMessage" : "",
    			"syncingTo" : "",
    			"syncSourceHost" : "",
    			"syncSourceId" : -1,
    			"infoMessage" : "",
    			"electionTime" : Timestamp(1600675187, 1),
    			"electionDate" : ISODate("2020-09-21T07:59:47Z"),
    			"configVersion" : 2
    		},
    		{
    			"_id" : 2,
    			"name" : "192.168.31.13:27017",
    			"health" : 1,
    			"state" : 2,
    			"stateStr" : "SECONDARY",
    			"uptime" : 1241,
    			"optime" : {
    				"ts" : Timestamp(1600675488, 1),
    				"t" : NumberLong(2)
    			},
    			"optimeDurable" : {
    				"ts" : Timestamp(1600675488, 1),
    				"t" : NumberLong(2)
    			},
    			"optimeDate" : ISODate("2020-09-21T08:04:48Z"),
    			"optimeDurableDate" : ISODate("2020-09-21T08:04:48Z"),
    			"lastHeartbeat" : ISODate("2020-09-21T08:04:53.436Z"),
    			"lastHeartbeatRecv" : ISODate("2020-09-21T08:04:52.966Z"),
    			"pingMs" : NumberLong(0),
    			"lastHeartbeatMessage" : "",
    			"syncingTo" : "192.168.31.12:27017",
    			"syncSourceHost" : "192.168.31.12:27017",
    			"syncSourceId" : 1,
    			"infoMessage" : "",
    			"configVersion" : 2
    		}
    	],
    	"ok" : 1,
    	"operationTime" : Timestamp(1600675488, 1),
    	"$clusterTime" : {
    		"clusterTime" : Timestamp(1600675488, 1),
    		"signature" : {
    			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
    			"keyId" : NumberLong(0)
    		}
    	}
    }
    
1.8.5 在主节点插入数据,查看从节点是否同步
  • 主节点插入数据

    rs01:PRIMARY> for(var i=0;i<10000;i++){db.customer.insert({"name":"user"+i})}
    WriteResult({ "nInserted" : 1 })
    rs01:PRIMARY> db.customer.count()
    10000
    
  • 从节点查数据

    rs01:SECONDARY> rs.secondaryOk()					#开启从节点可查询条件
    rs01:SECONDARY> db.customer.count()
    10000
    
1.9 开启用户认证
1.9.1 在主节点创建用户
rs01:PRIMARY> use admin
switched to db admin
rs01:PRIMARY> db.createUser({user:"root",pwd:"root@0321",roles:[{role:"root",db:"admin"}]})
Successfully added user: {
	"user" : "root",
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	]
}
1.9.2 创建安全认证
  • 依次停止mongodb副本集集群

  • 首先停止mongodb从节点,最后停止主节点

    #主节点是mongodb_02,从节点是mongodb_01和mongodb_02
    #停止从节点
    /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -shutdown -dbpath=/hdata/mongo_data/data
    #停止主节点
    /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -shutdown -dbpath=/hdata/mongo_data/data
    
1.9.3 创建keyfile文件
  • 在任意一台服务器上创建,再复制到其他服务器上

    [root@mongodb_01 keyfile]# pwd
    /hdata/mongo_data/keyfile
    [root@mongodb_01 keyfile]# openssl rand -base64 756 > keyfile
    [root@mongodb_01 keyfile]# ll
    总用量 4
    -rw-r--r--. 1 root root 1024 9月  21 16:32 keyfile
    [root@mongodb_01 keyfile]# chmod 600 keyfile 
    [root@mongodb_01 keyfile]# ll
    总用量 4
    -rw-------. 1 root root 1024 9月  21 16:32 keyfile
    [root@mongodb_01 keyfile]# scp keyfile 192.168.31.12:/hdata/mongo_data/keyfile/
    root@192.168.31.12's password: 
    keyfile                                                                                                                                                      100% 1024     1.1MB/s   00:00    
    [root@mongodb_01 keyfile]# scp keyfile 192.168.31.13:/hdata/mongo_data/keyfile/
    root@192.168.31.13's password: 
    keyfile                                                                                                                                                      100% 1024   994.4KB/s   00:00    
    [root@mongodb_01 keyfile]#
    
1.9.4 配置mongodb配置文件,然后复制到其他节点
vim /hdata/mongo_data/conf/mongod.conf
# mongod.conf

systemLog:
  destination: file
  logAppend: true
  path: /hdata/mongo_data/log/mongod.log
storage:
  dbPath: /hdata/mongo_data/data
  journal:
    enabled: true
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /hdata/mongo_data/log/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo
net:
  port: 27017
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.
#开启认证
security:
  authorization: enabled
  keyFile: /hdata/mongo_data/keyfile/keyfile

# 设置副本集名称
replication:
  replSetName: "rs01"
1.9.5 启动集群
  • 先启动主节点,再启动从节点

  • 启动mongodb_02为主节点

    /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -f /hdata/mongo_data/conf/mongod.conf
    
  • 在启动从节点01和03

    /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongod -f /hdata/mongo_data/conf/mongod.conf
    
1.9.6 验证集群
rs01:PRIMARY> use admin
switched to db admin
rs01:PRIMARY> db.auth("root","root@0321")
1
rs01:PRIMARY> rs.status()
{
	"set" : "rs01",
	"date" : ISODate("2020-09-21T08:43:57.911Z"),
	"myState" : 1,
	"term" : NumberLong(3),
	"syncingTo" : "",
	"syncSourceHost" : "",
	"syncSourceId" : -1,
	"heartbeatIntervalMillis" : NumberLong(2000),
	"optimes" : {
		"lastCommittedOpTime" : {
			"ts" : Timestamp(1600677831, 1),
			"t" : NumberLong(3)
		},
		"readConcernMajorityOpTime" : {
			"ts" : Timestamp(1600677831, 1),
			"t" : NumberLong(3)
		},
		"appliedOpTime" : {
			"ts" : Timestamp(1600677831, 1),
			"t" : NumberLong(3)
		},
		"durableOpTime" : {
			"ts" : Timestamp(1600677831, 1),
			"t" : NumberLong(3)
		}
	},
	"members" : [
		{
			"_id" : 0,
			"name" : "192.168.31.11:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 204,
			"optime" : {
				"ts" : Timestamp(1600677831, 1),
				"t" : NumberLong(3)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1600677831, 1),
				"t" : NumberLong(3)
			},
			"optimeDate" : ISODate("2020-09-21T08:43:51Z"),
			"optimeDurableDate" : ISODate("2020-09-21T08:43:51Z"),
			"lastHeartbeat" : ISODate("2020-09-21T08:43:57.727Z"),
			"lastHeartbeatRecv" : ISODate("2020-09-21T08:43:56.679Z"),
			"pingMs" : NumberLong(0),
			"lastHeartbeatMessage" : "",
			"syncingTo" : "192.168.31.12:27017",
			"syncSourceHost" : "192.168.31.12:27017",
			"syncSourceId" : 1,
			"infoMessage" : "",
			"configVersion" : 2
		},
		{
			"_id" : 1,
			"name" : "192.168.31.12:27017",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",
			"uptime" : 211,
			"optime" : {
				"ts" : Timestamp(1600677831, 1),
				"t" : NumberLong(3)
			},
			"optimeDate" : ISODate("2020-09-21T08:43:51Z"),
			"syncingTo" : "",
			"syncSourceHost" : "",
			"syncSourceId" : -1,
			"infoMessage" : "",
			"electionTime" : Timestamp(1600677639, 1),
			"electionDate" : ISODate("2020-09-21T08:40:39Z"),
			"configVersion" : 2,
			"self" : true,
			"lastHeartbeatMessage" : ""
		},
		{
			"_id" : 2,
			"name" : "192.168.31.13:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 194,
			"optime" : {
				"ts" : Timestamp(1600677831, 1),
				"t" : NumberLong(3)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1600677831, 1),
				"t" : NumberLong(3)
			},
			"optimeDate" : ISODate("2020-09-21T08:43:51Z"),
			"optimeDurableDate" : ISODate("2020-09-21T08:43:51Z"),
			"lastHeartbeat" : ISODate("2020-09-21T08:43:57.733Z"),
			"lastHeartbeatRecv" : ISODate("2020-09-21T08:43:56.404Z"),
			"pingMs" : NumberLong(0),
			"lastHeartbeatMessage" : "",
			"syncingTo" : "192.168.31.12:27017",
			"syncSourceHost" : "192.168.31.12:27017",
			"syncSourceId" : 1,
			"infoMessage" : "",
			"configVersion" : 2
		}
	],
	"ok" : 1,
	"operationTime" : Timestamp(1600677831, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1600677831, 1),
		"signature" : {
			"hash" : BinData(0,"nHTBx8yDoA1Jegprl7DxKay951M="),
			"keyId" : NumberLong("6874843624018804737")
		}
	}
}
1.9.7 导入数据测试账户密码认证及数据是否复制
  • 主节点导入数据

    #主节点导入数据
    [root@mongodb_02 mongo_data]# /opt/software/mongodb-linux-x86_64-rhel70-3.6.20/bin/mongoimport --host 127.0.0.1 --port 27017 -d testa -u root -p root@0321 --authenticationDatabase admin -c thumb_image --file thumb_image.json 
    2020-09-21T16:52:28.555+0800	connected to: 127.0.0.1:27017
    2020-09-21T16:52:31.328+0800	imported 178 documents
    
  • 从节点检查数据

    rs01:SECONDARY> db.auth("root","root@0321")
    1
    rs01:SECONDARY> rs.secondaryOk()
    rs01:SECONDARY> show dbs
    admin   0.000GB
    config  0.000GB
    local   0.027GB
    test    0.000GB
    testa   0.026GB
    rs01:SECONDARY> use testa
    switched to db testa
    rs01:SECONDARY> show collections
    thumb_image
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值