初学nosql数据库学习心得体会

作为一名大学生,学习NoSQL数据库技术是一个非常有趣且充满挑战的过程。本文将详细介绍如何配置MongoDB的副本集和分片,并结合实际应用进行综合实践。

一、准备工作

在开始之前,确保你的系统环境已经准备好。你需要安装MongoDB,并且熟悉基本的操作命令。以下是一些基本的准备工作:

二:启动MongoDB(参考mongodb的下载与安装-CSDN博客

  1. 安装MongoDB:根据你的操作系统下载并安装MongoDB。
  2. 下载

  3. 安装

    • 双击下载好的 MSI 文件,按照提示进行安装。
    • 在安装过程中,可以选择默认安装路径或自定义安装路径。
    • 接受最终用户许可协议,并继续安装。
    • 完成安装后,可以修改默认的安装位置和数据目录。
  4. 通过命令行启动
    • 打开命令提示符,导航到 MongoDB 的安装目录下的 bin 文件夹。
    • 输入以下命令启动 MongoDB 服务:mongod
  5. 查看 MongoDB 服务状态:mongod-help
  6. 通过服务管理工具启动
    • 在 Windows 任务管理器中,找到并启动 MongoDB 服务。
    • 或者使用系统服务管理工具,搜索并启动 MongoDB 服务。
  7. 配置网络:确保你的IP地址和hosts文件解析正常,以便能够顺利连接到MongoDB服务器。

二、配置MongoDB副本集(参考NoSql 分片集群部署-CSDN博客)

1 搭配集群环境:

创建两个shard文件夹

主 

每个都应该安装mongodb实例,将bin文件复制到每个分片中,并且都要创建db文件和log文件存放数据库数据和日志数据

和shard1同理

2 启动分片服务

进入要分片的数据库bin目录中启动cmd窗口 每个都最小化不退出

3 配置启动

重新创建config文件夹 复制bin目录

然后进入数据库bin目录中,启动cmd

\bin>mongod --shardsvr --replSet shard1 -port 4006 -dbpath D:\shard1\shard11\data -logpath D:\shard1\shard11\log\shard11.log
--shardsvr 为分片声明
当命令一直保持运行状态则说明服务运行成功,此服务为一次性服务,不要关闭此窗口,最小化即可。
shard12:


再次进入数据库bin目录中,启动cmd

bin>mongod --shardsvr --replSet shard1 -port 4007 -dbpath D:\shard1\shard12\data -logpath D:\shard1\shard12\log\shard12.log


启动分片集群2(shard21和shard22)

shard21

\bin>mongod --shardsvr --replSet shard2 -port 4008 -dbpath D:\shard2\shard21\data -logpath D:\shard2\shard21\log\shard21.log


shard22

\bin>mongod --shardsvr --replSet shard2 -port 4009 -dbpath D:\shard2\shard22\data -logpath D:\shard2\shard22\log\shard22.log

配置分片
进入任意mongos客户端,配置分片信息。首先,创建一个全局变量来管理分片:

dberrupted();
然后,添加分片规则:

dberrupted().sh架设("yourShardKey", { "a": 1 });
最后,更新路由表:

dberrupted().sh架设("yourShardKey", { "a": 1 });
三、验证和优化
完成上述步骤后,可以通过以下命令检查集群状态:

sh.status ();
如果一切正常,你应该能看到集群的状态信息。此外,还可以使用一些工具和命令来优化分片集群的性能,例如调整分片不均衡问题和索引缺失问题。
————————————————

                            

副本集是MongoDB提供的一种高可用性解决方案,通过在多个节点之间复制数据来提高数据的可靠性和可用性。以下是配置副本集的步骤:

  1. 启动主节点:首先启动一个主节点(master),负责处理客户端请求和写入操作。启动命令如下:

其中--bind IP指定主节点的IP地址,--replSet myReplSet指定副本集名称。

  1. 启动从节点:然后启动一个或多个从节点(slave),负责从主节点同步数据。启动命令如下:

其中--replSet myReplSet与主节点相同,表示它们属于同一个副本集。

  1. 配置副本集成员:在每个节点上运行以下命令,将自己添加到副本集中:

其中address为你从节点的IP地址和端口。

  1. 验证配置:在主节点上执行以下命令,查看副本集的状态:

如果显示所有节点都已加入副本集,则配置成功。

三、配置分片

分片是MongoDB提供的另一种扩展数据存储能力的方法,通过将数据分布到多个分片上来实现水平扩展。以下是配置分片的步骤:

  1. 安装ShardServer:在每个分片服务器上安装ShardServer组件,并启动它。ShardServer负责管理分片集合和分片。

  2. 配置分片集合:创建一个分片集合,并指定分片键。例如:

其中myapp.shard route是你创建的分片集合名称,shard0是第一个分片。

  1. 分配分片:将数据分配到不同的分片上。可以通过插入文档来实现,例如:

这些操作会自动将数据分配到相应的分片上。

四、综合应用

在配置好副本集和分片之后,可以进行一些综合应用来验证配置的有效性:

  1. 写入操作:在主节点上插入数据,观察数据是否被正确复制到从节点和分片上。
  2. 读取操作:在客户端上查询数据,验证数据是否能够从正确的分片节点返回。
  3. 故障恢复:故意关闭一个从节点或分片服务器,观察系统是否能够自动选举新的主节点,并且数据是否能够正常恢复。

五、总结

通过以上步骤,你不仅可以学会如何配置MongoDB的副本集和分片,还能理解它们在实际应用中的重要性和优势。希望这篇博客能帮助你在NoSQL数据库技术的学习道路上更进一步。

  • 41
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值