在CentOS上搭建MongoDB集群涉及多个步骤,包括安装MongoDB、配置MongoDB实例、设置副本集和分片等。以下是一个详细的步骤指南:
wget
和vim
等常用工具。sudo yum update -y
sudo yum install -y wget vim
创建mongodb.repo
文件并添加MongoDB的仓库。
echo "[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" | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
使用YUM安装MongoDB及其相关组件。
sudo yum install -y mongodb-org
Config Server的配置文件位于/etc/mongod.conf
,我们需要对其进行修改以启用Config Server。
sudo vim /etc/mongod.conf
在文件中添加以下内容(注意调整路径与服务器信息):
storage:
dbPath: /var/lib/mongo/configdb
systemLog:
destination: file
path: /var/log/mongodb/configdb.log
logAppend: true
net:
bindIp: 0.0.0.0
port: 27019
sharding:
clusterRole: configsvr
创建数据库目录并启动Config Server。
sudo mkdir -p /var/lib/mongo/configdb
sudo chown mongod:mongod /var/lib/mongo/configdb
sudo systemctl start mongod
sudo systemctl enable mongod
为每个分片配置一个单独的MongoDB实例。修改/etc/mongod.conf
文件:
sudo vim /etc/mongod.conf
在文件中添加以下内容(注意调整路径与服务器信息):
storage:
dbPath: /var/lib/mongo/shard_1
systemLog:
destination: file
path: /var/log/mongodb/shard_1.log
logAppend: true
net:
bindIp: 0.0.0.0
port: 27018
sharding:
clusterRole: shardsvr
创建数据库目录并启动Shard。
sudo mkdir -p /var/lib/mongo/shard_1
sudo chown mongod:mongod /var/lib/mongo/shard_1
sudo systemctl start mongod
sudo systemctl enable mongod
重复以上步骤,配置多个Shard(例如shard_2
, shard_3
等)。
Mongos作为路由器运行。首先要安装Mongos并配置其/etc/mongos.conf
。
sudo vim /etc/mongos.conf
内容如下:
sharding:
configDB: config_server_ip:27019
net:
bindIp: 0.0.0.0
port: 27017
启动Mongos服务。
sudo mongos --config /etc/mongos.conf
在MongoDB shell中运行以下命令:
mongo --host mongos_ip:27017
sh.addShard("shard_1_ip:27018")
sh.addShard("shard_2_ip:27018")
sh.addShard("shard_3_ip:27018")
在MongoDB中,你可以使用MongoDB自带的监控工具来查看集群的状态。例如,通过运行以下命令获取集群状态:
sh.status()