【原创】拉勾课程速推指南-阶段四 模块三 分布式文档存储独角兽MongoDB、知识图谱存储数据库Neo4j

文章内容输出来源:拉勾教育Java高薪训练营

学习心得

【拉勾课程速推指南】学习心得

课程介绍

第四阶段 大型分布式存储系统架构进阶
模块三 分布式文档存储独角兽MongoDB、知识图谱存储数据库Neo4j
本模块对MongoDB的存储原理以及replica sets & Sharded Cluster等、对Neo4j数据模型及图形理论等进行深入讲解。

作业内容

(1) 如图搭建一个分片集群 要求每个分片节点中的复制集含有一个仲裁节点
(2) 使用权限控制 建立访问你访问的数据库lg_resume 这个账号名字是lagou_gx 密码是abc321。这个账号对数据库有读写权限
(3) 使用SpringBoot 进行访问分片集群 对lg_resume 库中的lg_resume_datas 进行增加数据

课程目录及观看建议

2倍速模式

  • 课程:3小时
  • 作业:3小时

*** 必看
** 建议看
* 可不看

任务一:分布式文档存储MongoDB)

  1. MongoDB课程介绍(10:45)
  2. MongoDB和RDBMS(16:30)*
  3. MongoDB安装和启动参数说明(25:50)***
  4. MongoShell和GUI工具(16:44)
  5. MongoDN的基本操作(10:08)
  6. 插入数据(15:48)
  7. 数据查询(18:55)
  8. 更新操作(18:07)
  9. 删除数据(07:46)
  10. 聚合介绍(06:32)
  11. 聚合管道(19:40)
  12. MapReduce(16:43)
  13. 索引和单键索引(12:50)
  14. 索引分类(22:33)
  15. 索引分类和总结(14:48)
  16. 索引管理(09:14)
  17. 执行计划分析(32:45)
  18. 慢查询分析(12:48)
  19. MongoDB索引实现原理(13:08)
  20. 应用场景和如何抉择(11:48)
  21. Java访问MongoDB(27:58)
  22. Spring访问MongoDB(29:38)**
  23. MongoDBSpring查询(20:57)**
  24. SpringBoot以Template方式访问MongoDB(14:17)**
  25. MongoRepository访问(19:18)***
  26. MongoDB逻辑结构和数据模型(10:48)
  27. 存储引擎(12:37)
  28. WireTiger存储引擎原理(17:10)
  29. 主从和复制集(10:13)***
  30. 复制集原理(17:20)
  31. 复制集搭建(20:52)***
  32. 复制集成员参数和仲裁节点(15:38)***
  33. 分片和分片的原理(24:25)***
  34. 配置集群和分片集群(29:14)***
  35. 分片后续步骤(12:22)***
  36. 安全认证介绍(11:15)***
  37. 单机安全认证(14:48)*
  38. 集群安全认证(27:07)***

任务二:知识图谱存储Neo4j)

观后感

可以3倍速播放。

作业说明

作业思路
在虚拟机中搭建MongoDB分片环境,包括配置节点、分片节点、路由节点,并设置读写权限。最后使用Spring Boot项目进行测试。

实现步骤

  1. 准备虚拟机环境
  2. 下载MongoDB安装文件
  3. 安装MongoDB
  4. 设置全部配置文件
  5. 设置配置节点信息
  6. 设置分片节点信息
  7. 设置路由节点信息
  8. 设置权限
  9. 编写Spring Boot项目进行测试

注意事项

  1. 虚拟机空间不足
    因为MongoDB集群实例比较多,创建虚拟机时注意需要至少10G磁盘空间,否则需要后期扩容。
    先在虚拟机中添加一块8G物理的磁盘,重起虚拟机,然后执行以下shell命令。
# 查看磁盘编号
$ ls /dev/sd*
# 创建pv
$ pvcreate /dev/sdb
# 使用vgextend命令扩展vg(如果提示 Could not create temporary archive name,则需要先删除logs文件腾出一些空间)
$ vgextend centos /dev/sdb
$ lvs
# 可用容量小于8G
$ lvextend -L +7.9G /dev/mapper/centos-root
# 命令使系统重新读取大小
$ xfs_growfs /dev/mapper/centos-root
# 查看磁盘信息(成功扩容为16G)
$ df -h
  1. 关闭服务尽量不使用kill

使用kill命令可能会导致MongoDB实例损坏,需要手动删除 data/mongod.lock
然后以修复方式启动

$ /usr/bin/mongod -f /etc/mongod.conf --repair

正常关闭服务的方式(好像killall命令也可以)

> db.shutdownServer();
  1. 批量清除数据

如果MongoDB实例或数据损坏,需要批量删除,可以使用以下sh。但是重新启动后需要再次进行相关设置。

rm -rf data/config_17011/*
rm -rf data/config_17013/*
rm -rf data/config_17015/*

rm -rf data/shard1_37011/*
rm -rf data/shard1_37013/*
rm -rf data/shard1_37015/*
rm -rf data/shard1_37017/*

rm -rf data/shard2_47011/*
rm -rf data/shard2_47013/*
rm -rf data/shard2_47015/*
rm -rf data/shard2_47017/*

rm -rf data/shard3_57011/*
rm -rf data/shard3_57013/*
rm -rf data/shard3_57015/*
rm -rf data/shard3_57017/*

rm -rf data/shard4_58011/*
rm -rf data/shard4_58013/*
rm -rf data/shard4_58015/*
rm -rf data/shard4_58017/*

rm -rf data/route_27017/*
  1. 权限问题

a. 权限相关的配置最好第一次就填写好,避免很多配置文件写完再重新修改。
b. 目前发现设置完权限后,分片节点权限认证不成功,无法使用shell进行数据查询,只能通过路由节点授权查询。正在解决中。

你可能感兴趣的:(【原创】拉勾课程速推指南-阶段四 模块三 分布式文档存储独角兽MongoDB、知识图谱存储数据库Neo4j)