CentOS7下MongoDB分片+副本集群部署命令详解

需积分: 5 4 下载量 142 浏览量 更新于2024-09-01 收藏 3KB TXT 举报
本文档是关于在 CentOS 7 系统上部署 MongoDB 分片和副本集集群的常用命令集合,涵盖了安装、配置、启动以及通过 shell 终端访问 MongoDB 的一系列操作。 MongoDB 是一个高性能、开源的文档型数据库,支持分布式数据存储,常用于大数据处理和实时分析。在 CentOS 7 上部署 MongoDB 集群,通常涉及以下步骤: 1. **安装 MongoDB**: 通常使用 yum 包管理器进行安装,通过运行 `sudo yum install -y mongodb-org` 安装 MongoDB 的服务器、shell、管理工具等组件。 2. **配置 MongoDB**: 在 `/etc/mongod.conf` 文件中设置配置,包括数据目录、日志文件路径、网络监听地址和端口等。 3. **启动 MongoDB 服务**: 使用 `sudo systemctl start mongod` 命令启动单个 MongoDB 实例。若要使其在系统启动时自动启动,可执行 `sudo systemctl enable mongod`。 4. **创建副本集**: 副本集是 MongoDB 中提供高可用性和数据冗余的方式。例子中的命令 `rs.initiate()` 初始化了一个名为 "shard1" 的副本集,包含了三个成员:两个数据节点(192.168.233.102:28887 和 192.168.233.101:28888)和一个仲裁节点(192.168.233.100:28889)。 5. **查看副本集状态**: 使用 `rs.status()` 命令可以检查副本集的状态,确认所有成员是否已加入并处于正常状态。 6. **配置分片**: 分片是 MongoDB 扩展存储能力的关键特性,允许数据水平切分到多个服务器。例子中展示了创建名为 "shard1" 和 "shard2" 的两个分片,并定义了各自的成员。 7. **配置配置服务器**: 配置服务器存储分片和副本集的元数据。这里创建了一个名为 "config" 的配置服务器副本集,包括三个成员。 8. **启动 Mongos 路由器**: Mongos 是 MongoDB 的路由进程,负责将客户端请求转发到正确的分片。通过 `mongos --configdb conf/192.168` 命令启动 Mongos,并指定配置服务器的位置。 9. **访问 MongoDB Shell**: 可以通过 `./bin/mongo <hostname>:<port>` 命令连接到 MongoDB 服务器,例如 `./bin/mongo 192.168.233.102:28887`。 以上就是 MongoDB 在 CentOS 7 下部署分片和副本集集群的基本流程,每个步骤都需要细心操作,确保集群的稳定性和可靠性。同时,为了安全性,还需要考虑设置访问控制、数据加密和备份策略等。

项目突然跑不起来报这个错 Exception in monitor thread while connecting to server 10.18.21.79:27117 com.mongodb.MongoSocketReadException: Exception receiving message at com.mongodb.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:536) at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:421) at com.mongodb.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:290) at com.mongodb.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255) at com.mongodb.connection.CommandHelper.sendAndReceive(CommandHelper.java:84) at com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:34) at com.mongodb.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:91) at com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:51) at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:114) at java.lang.Thread.run(Thread.java:748) Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) at java.net.SocketInputStream.read(SocketInputStream.java:141) at com.mongodb.connection.SocketStream.read(SocketStream.java:84) at com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:547) at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:418)

2023-06-09 上传