1.前言 近期项目需要在新的环境进行全量部署,发现Spring Boot微服务无法正常启动,报MongoDB索引冲突错误(IndexOptionsConflict),具体报错信息如下: Caused by: com.mongodb.MongoCommandException: Command fai
1.查看集群分片 登录Mongo shell,查看集群当前的分片信息: db.adminCommand( { listShards: 1 } ) 得到集群当前分片状态如下所示: { shards: [ { _id: 'shard1', host: 'shard1/
1.前言 最近搭建性能测试环境,主机规格为三台8C16G(这个内存量确实比较尴尬)云主机。选用的部署方案是多分片三副本集的部署方式,以期在通过横向拓展扩展提升数据库整体吞吐的情况下,尽可能保证数据的高可用性。 但是实践发现,三分片三副本集的MongoDB集群,无法承载持续的大数据量写入。因此,经过调
1. 旧配置文件 MongoDB原配置文件,类似如下形式: ## 配置文件内容 pidfilepath = /data/mongodb/shard1/log/shard1.pid dbpath = /data/mongodb/shard1/data logpath = /data/mongod
1.前言 在使用MongoDB分片集群的时候,通过mongos创建管理员用户以及各数据库的用户。客户端(例如SpringBoot Mongo)携带授权用户信息访问mongos实例。在MongoDB分片集群部署情况下,MongoDB会将授权用户信息存储至confgi servers的admin数据库。
1. 默认生成_class字段 插入Java实体对象至Mongo数据库中,发现记录中存在_class属性,查询到此字段是为了便于MongoTemplate执行对象转换(至具体子对象)。 鉴于当前Java实体对象不存在子类,且_class字段不利于后续应用改造(例如更换包名等),因此按照如下方式去除_