# CentOS安装 + MongoDB安装部署(单节点+副本集+分片)详细教程
## 一、CentOS系统安装
在开始MongoDB的安装之前,首先需要确保你有一台运行CentOS的操作系统。以下是如何在CentOS上进行安装的步骤:
1. **更新系统**:使用`sudo yum update`命令来确保所有软件包都是最新的。
2. **添加MongoDB的官方YUM存储库**:在/etc/yum.repos.d/目录下创建一个新文件,例如`mongodb.repo`,并添加以下内容:
```
[mongodb-org]
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
```
3. **安装MongoDB**:使用`sudo yum install -y mongodb-org`命令安装MongoDB的服务器、shell、监控工具和管理工具。
4. **启动MongoDB服务**:使用`sudo systemctl start mongod`命令启动MongoDB服务。
5. **设置开机启动**:使用`sudo systemctl enable mongod`命令使MongoDB在系统启动时自动启动。
6. **验证安装**:运行`mongo`命令进入MongoDB shell,然后执行`db.runCommand({connectionStatus : 1})`来检查MongoDB是否正在运行。
## 二、MongoDB单节点安装
1. **配置MongoDB**:编辑`/etc/mongod.conf`配置文件,根据需求调整数据存储路径、端口、日志位置等。
2. **重启服务**:`sudo systemctl restart mongod`来应用配置更改。
## 三、MongoDB副本集安装
1. **创建数据目录**:为每个副本集成员创建一个独立的数据目录,如`/var/lib/mongodb/replica1`、`/var/lib/mongodb/replica2`等。
2. **修改配置文件**:在`mongod.conf`中,添加`replSetName`配置,指定副本集名称。
3. **初始化副本集**:在其中一个节点上启动MongoDB,并使用`rs.initiate()`命令初始化副本集。
4. **添加其他成员**:在其他节点上启动MongoDB,然后通过`rs.add("node2_host:port")`等命令将它们加入副本集。
5. **验证副本集状态**:使用`rs.status()`命令查看副本集状态,确保所有成员已加入且状态正常。
## 四、MongoDB分片集群安装
1. **配置分片**:需要至少三个MongoDB实例作为分片服务器,以及至少一个配置服务器(config server)和路由服务器(mongos)。
2. **启动配置服务器**:每个配置服务器都需要在单独的实例上运行,并配置`--configsvr`参数。
3. **启动分片服务器**:每个分片服务器需要配置`--shardsvr`参数。
4. **启动路由服务器**:mongos作为客户端与分片通信的桥梁,不需要特别的配置参数,只需指定配置服务器的位置。
5. **创建分片**:在mongos上执行`sh.addShard("shard_name/shard_host:port")`命令添加分片。
6. **启用分片**:对数据库或集合执行`sh.enableSharding("database_name")`和`sh.shardCollection("database_name.collection_name", shard_key)`命令。
7. **分配数据**:MongoDB会自动将数据分散到各分片上,也可以手动使用`sh.moveChunk`命令迁移数据。
## 总结
本教程详细介绍了如何在CentOS操作系统上安装MongoDB,并部署单节点、副本集及分片集群。理解这些概念和步骤对于管理和扩展MongoDB数据库至关重要。请确保在实际操作过程中遵循最佳实践,以保证数据安全和高可用性。