在CentOS系统下搭建MongoDB集群,通常需要以下几个步骤:
首先,确保你的CentOS系统已经更新到最新状态:
sudo yum update -y
然后,添加MongoDB官方YUM仓库:
sudo tee /etc/yum.repos.d/mongodb-org.repo <<EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
安装MongoDB:
sudo yum install -y mongodb-org
启动MongoDB服务并设置开机自启:
sudo systemctl start mongod
sudo systemctl enable mongod
假设你有三台服务器,IP分别为192.168.1.1, 192.168.1.2, 192.168.1.3。
/etc/mongod.confstorage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
replication:
replSetName: rs0
sudo systemctl start mongod
连接到任意一台服务器的MongoDB实例:
mongo --host 192.168.1.1 --port 27017
在Mongo shell中执行以下命令初始化副本集:
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "192.168.1.1:27017" },
{ _id: 1, host: "192.168.1.2:27017" },
{ _id: 2, host: "192.168.1.3:27017" }
]
}
)
在Mongo shell中执行以下命令查看副本集状态:
rs.status()
你应该能看到所有节点的状态都是SECONDARY或PRIMARY。
如果你需要搭建一个分片集群,可以参考MongoDB官方文档进行配置。分片集群通常包括配置服务器、分片服务器和mongos路由器。
在每台配置服务器上安装MongoDB并配置/etc/mongod.conf:
sharding:
clusterRole: configsvr
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27019
bindIp: 0.0.0.0
启动配置服务器并设置开机自启:
sudo systemctl start mongod
sudo systemctl enable mongod
初始化配置服务器副本集:
mongo --host 192.168.1.1 --port 27019
rs.initiate(
{
_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "192.168.1.1:27019" },
{ _id: 1, host: "192.168.1.2:27019" },
{ _id: 2, host: "192.168.1.3:27019" }
]
}
)
在每台分片服务器上安装MongoDB并配置/etc/mongod.conf:
sharding:
clusterRole: shardsvr
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27018
bindIp: 0.0.0.0
启动分片服务器并设置开机自启:
sudo systemctl start mongod
sudo systemctl enable mongod
在每台mongos路由器上安装MongoDB并配置/etc/mongos.conf:
sharding:
configDB: configReplSet/192.168.1.1:27019,192.168.1.2:27019,192.168.1.3:27019
net:
port: 27017
bindIp: 0.0.0.0
启动mongos路由器并设置开机自启:
sudo systemctl start mongos
sudo systemctl enable mongos
连接到mongos路由器:
mongo --host 192.168.1.1 --port 27017
sh.addShard("shard0/192.168.1.1:27018")
sh.addShard("shard1/192.168.1.2:27018")
sh.addShard("shard2/192.168.1.3:27018")
sh.enableSharding("yourDatabaseName")
sh.shardCollection("yourDatabaseName.yourCollectionName", { "shardKey": 1 })
以上步骤完成后,你就成功搭建了一个MongoDB集群。根据你的需求,你可以进一步配置副本集和分片集群。