2团日志

MongoDB创建分片键(shard key)的隐式操作引发的索引名冲突问题

1.前言 近期项目需要在新的环境进行全量部署,发现Spring Boot微服务无法正常启动,报MongoDB索引冲突错误(IndexOptionsConflict),具体报错信息如下: Caused by: com.mongodb.MongoCommandException: Command fai

2团 2团 Published on 2024-09-26

MongoDB删除分片操作手册

1.查看集群分片 登录Mongo shell,查看集群当前的分片信息: db.adminCommand( { listShards: 1 } ) 得到集群当前分片状态如下所示: { shards: [ { _id: 'shard1', host: 'shard1/

2团 2团 Published on 2024-08-16

MongoDB五分片三副本集部署

1.前言 最近搭建性能测试环境,主机规格为三台8C16G(这个内存量确实比较尴尬)云主机。选用的部署方案是多分片三副本集的部署方式,以期在通过横向拓展扩展提升数据库整体吞吐的情况下,尽可能保证数据的高可用性。 但是实践发现,三分片三副本集的MongoDB集群,无法承载持续的大数据量写入。因此,经过调

2团 2团 Published on 2024-08-16

MongoDB宿主机优化

1.安装MongoDB 当前机器通过rpm形式安装MongoDB。 jxd@jxd:/var/log/mongodb$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.3 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERS

2团 2团 Published on 2024-08-16

MongoDB新老配置文件转换

1. 旧配置文件 MongoDB原配置文件,类似如下形式: ## 配置文件内容 pidfilepath = /data/mongodb/shard1/log/shard1.pid dbpath = /data/mongodb/shard1/data logpath = /data/mongod

2团 2团 Published on 2024-08-16

MongoDB分片本地用户

1.前言 在使用MongoDB分片集群的时候,通过mongos创建管理员用户以及各数据库的用户。客户端(例如SpringBoot Mongo)携带授权用户信息访问mongos实例。在MongoDB分片集群部署情况下,MongoDB会将授权用户信息存储至confgi servers的admin数据库。

2团 2团 Published on 2024-08-15

MongoTemplate操作Tips

1. 默认生成_class字段 插入Java实体对象至Mongo数据库中,发现记录中存在_class属性,查询到此字段是为了便于MongoTemplate执行对象转换(至具体子对象)。 鉴于当前Java实体对象不存在子类,且_class字段不利于后续应用改造(例如更换包名等),因此按照如下方式去除_

2团 2团 Published on 2024-08-15