在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地址和端口號為您的實際服務器信息。 此外,為了保證高可用性,建議您進一步配置副本集。