搭建高可用的MongoDB集群已经成为现在互联网开发必不可少的环节之一,但是,搭建这个集群需要付出非常多的心血和精力,在这里,我们就为大家详细介绍MongoDB搭建高可用集群的完整步骤。
一、安装MongoDB
首先,我们需要将MongoDB安装在我们的服务器上,以下是具体的步骤:
1. 创建一个MongoDB的源列表:
sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo
在该文件中添加以下内容:
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
2. 安装MongoDB:
sudo yum install -y mongodb-org
在安装完成之后,启动MongoDB服务:
sudo service mongod start
二、配置ReplicaSet
1. 创建数据存储文件夹,这个文件夹是我们之后MongoDB数据的存储路径:
sudo mkdir -p /data/db1
sudo mkdir -p /data/db2
sudo mkdir -p /data/db3
2. 编辑MongoDB配置文件:
sudo vi /etc/mongod.conf
注释掉bindIP参数,然后加入如下内容:
replication:
oplogSizeMB: 100
replSetName: myReplSet
storage:
dbPath: /data/db1
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
port: 27017
上面的配置指定了ReplicaSet的名称为myReplSet,Oplog的大小为100MB,数据存储路径为/data/db1,而日志文件的路径则指定为/var/log/mongodb/mongod.log。
3. 复制mongodb.conf文件到/db2和/db3路径下,修改数据存储目录:
sudo cp /etc/mongod.conf /etc/mongod2.conf
sudo cp /etc/mongod.conf /etc/mongod3.conf
sudo vi /etc/mongod2.conf
sudo vi /etc/mongod3.conf
更改存储路径:
sudo vi /etc/mongod2.conf
dbPath:/data/db2
sudo vi /etc/mongod3.conf
dbPath: /data/db3
4. 重启MongoDB服务,启动副本集:
sudo service mongod stop
sudo service mongod restart
mongo 127.0.0.1:27017
rs.initiate({
_id: "myReplSet",
members: [
{ _id: 0, host: "localhost:27017" },
{ _id: 1, host: "localhost:27018" },
{ _id: 2, host: "localhost:27019" }
]
})
rs.status()
上面的代码分别为:停止MongoDB服务,启动MongoDB服务,连接MongoDB,初始化ReplicaSet,查看ReplicaSet状态。
三、测试
1. 查看ReplicaSet的状态:
mongo 127.0.0.1:27017
rs.status()
2. 在主节点中创建一个文档:
db.test.insert({name:"MongoDB ReplicaSet"})
3. 在从节点中查看是否同步成功:
mongo --port 27018
use test
db.test.find().pretty()
小结
如此,在这个过程中,我们使用了ReplicaSet来实现高可用集群的搭建。但是,这里还有很多需要注意的问题,比如数据的同步、复制等,这些需要完整的实践才能更好的掌握,但是我们希望本篇文章能够带给读者足够的知识来搭建MongoDB高可用集群。