在centos系统上搭建mongodb集群,需要完成mongodb安装、实例配置、副本集设置以及分片等步骤。以下步骤将详细指导您完成这一过程:
一、准备工作
sudo yum update -y sudo yum install -y wget vim
二、安装MongoDB
- 添加MongoDB YUM源: 创建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
- 安装MongoDB: 使用YUM命令安装MongoDB及其依赖组件:
sudo yum install -y mongodb-org
三、配置MongoDB实例
本例中,我们将搭建一个包含一个Config Server和多个Shard的集群。
- 配置Config Server: 修改/etc/mongod.conf文件 (请替换config_server_ip为实际IP地址):
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
- 配置Shard: 为每个Shard服务器配置一个独立的MongoDB实例。 修改/etc/mongod.conf文件 (请替换shard_1_ip为实际IP地址,并为每个shard创建相应的目录和配置文件,例如/var/lib/mongo/shard_2, /var/lib/mongo/shard_3等等):
sudo vim /etc/mongod.conf
添加以下配置 (示例为shard_1):
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: (如果未安装,请使用 sudo yum install -y mongodb-org-mongos 安装)
-
配置/etc/mongos.conf: (请替换config_server_ip为Config Server的IP地址,mongos_ip为Mongos服务器的IP地址):
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
五、添加Shard到集群
连接到Mongos服务器:
mongo --host mongos_ip:27017
然后执行以下命令添加Shard (请替换为实际的shard IP地址和端口):
sh.addShard("shard_1_ip:27018") sh.addShard("shard_2_ip:27018") sh.addShard("shard_3_ip:27018")
六、监控和管理
使用sh.status()命令查看集群状态:
sh.status()
通过以上步骤,您就可以在CentOS系统上搭建一个MongoDB集群。 请记住替换示例中的IP地址和端口号为您的实际服务器信息。 此外,为了保证高可用性,建议您进一步配置副本集。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END