CentOS 6.4创建Mongodb副本集

前言

MongoDB是一款非常流行的开源NoSQL数据库,支持水平扩展和副本集等特性。本篇文章将介绍如何在CentOS 6.4上创建Mongodb副本集。

步骤一:安装MongoDB

首先需要安装MongoDB,可以使用以下命令进行安装:

sudo vi /etc/yum.repos.d/mongodb.repo

添加以下内容:

[mongodb]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.0.asc

保存并退出。

执行以下安装命令:

sudo yum install mongodb-org

步骤二:启动MongoDB

MongoDB安装完成后,需要启动MongoDB服务:

sudo service mongod start

步骤三:创建配置文件

接下来需要创建一个MongoDB的配置文件。在终端中输入以下命令:

sudo vi /etc/mongod.conf

在该文件中添加以下配置:

# 数据库文件

dbpath=/var/lib/mongo

# 日志文件

logpath=/var/log/mongodb/mongod.log

# 端口号

port=27017

# 是否绑定本地IP,只接受本机访问

bind_ip=127.0.0.1

# 设置副本集相关参数

replication:

replSetName: rs0

步骤四:重启MongoDB

保存以上配置后,需要重启MongoDB服务操作生效:

sudo service mongod restart

步骤五:初始化副本集

接下来需要初始化一个副本集,使用以下命令:

mongo

rs.initiate()

执行以上命令后,将会有以下输出:

{ 

"info2": "no configuration specified. Using a default configuration for the set",

"me": "localhost:27017",

"info": "try querying local.system.replset to see current configuration",

"ok": 1

}

步骤六:添加副本集节点

接下来需要添加副本集节点。在本地终端上,打开另外两个终端,分别执行以下命令:

终端一:

mongo --port 27018

rs.slaveOk()

终端二:

mongo --port 27019

rs.slaveOk()

以上命令将分别在不同的端口上启动MongoDB服务,并且将它们添加到副本集中:

mongo

rs.add("localhost:27018")

rs.add("localhost:27019")

步骤七:检查副本集状态

当以上操作都完成以后,可以检查副本集的状态:

mongo

rs.status()

以上命令将输出副本集的状态:

{

"set" : "rs0",

"date" : ISODate("2022-06-20T01:25:40Z"),

"myState" : 1,

"term" : NumberLong(1),

"heartbeatIntervalMillis" : NumberLong(2000),

"members" : [

{

"_id" : 0,

"name" : "localhost:27017",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 1436,

"optime" : {

"ts" : Timestamp(1655741030, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2022-06-20T01:23:50Z"),

"syncingTo" : null,

"configVersion" : 1,

"self" : true,

"lastHeartbeatMessage" : null,

"lastHeartbeatRecv" : ISODate("2022-06-20T01:25:40.502Z"),

"pingMs" : NumberLong(0),

"electionTime" : Timestamp(1655741044, 2),

"electionDate" : ISODate("2022-06-20T01:24:04Z"),

"configsvr" : false

},

{

"_id" : 1,

"name" : "localhost:27018",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 19,

"optime" : {

"ts" : Timestamp(1655741030, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1655741030, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2022-06-20T01:23:50Z"),

"optimeDurableDate" : ISODate("2022-06-20T01:23:50Z"),

"lastHeartbeatMessage" : null,

"lastHeartbeatRecv" : ISODate("2022-06-20T01:25:39.796Z"),

"pingMs" : NumberLong(0),

"syncingTo" : "localhost:27017",

"configVersion" : 1

},

{

"_id" : 2,

"name" : "localhost:27019",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 19,

"optime" : {

"ts" : Timestamp(1655741030, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1655741030, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2022-06-20T01:23:50Z"),

"optimeDurableDate" : ISODate("2022-06-20T01:23:50Z"),

"lastHeartbeatMessage" : null,

"lastHeartbeatRecv" : ISODate("2022-06-20T01:25:39.797Z"),

"pingMs" : NumberLong(0),

"syncingTo" : "localhost:27017",

"configVersion" : 1

}

],

"ok" : 1

}

以上就是创建Mongodb副本集的步骤,您可以根据自己的需求进行相关修改和配置。

数据库标签