mongodb 安装问题

1. mongodb启动时显示 Illegal instruction (core dumped)

mongodb 5.0之后(包括5.0) 开始使用需要使用 AVX 指令集

2.启动时报错 ERROR: child process failed, exited with 1

通过指令 bin/mongod --repair./bin/mongod -f configs/mongodb.conf --repair 查看报错信息

根据报错信息进行修改

3. 配置服务器添加节点时报错

复制代码
Reconfig attempted to install a config that would change the implicit defaul... Use the setDefaultRWConcern command to set a cluster-wide write concern and try the reconfig again

解决方法,修改默认读写关注配置
官网修改地址

复制代码
db.adminCommand({
  "setDefaultRWConcern" : 1,
  "defaultWriteConcern" : {
    "w" : 2
  }
})

选项信息

"w" : 1 只要主节点写入成功,就直接返回成功的响应,而不管副节点的同步情况

"w" : majority 超过节点半数【(节点数+1)/2】写入成功,才返回成功响应

"w" : 0 不等待任何节点确认写操作,只需写入到内存就返回成功,这是最低级别的写安全级别,这个配置可以提供写入性能,但也有一定的风险

"w" : 等待指定数量的节点确认写成功

其他注意: 配置服务器不能有裁决节点(7.0.8版本测试所得)

路由添加分片集群时报错

复制代码
Cannot add ***/***  as a shard since the implicit default write concern on this shard is set to {w : 1}, because number of arbiters in the shard's configuration caused the number of writable voting members not to be strictly more than the voting majority. Change the shard configuration or set the cluster-wide write concern using the setDefaultRWConcern command and try again.

在 mongos 实例中 我们使用命令 db.adminCommand({ "getDefaultRWConcern": 1 }) 可以查看到当前mongos 默认设置的写入安全机制defaultWriteConcern,默认是 majority (多数确认),这是mongodb5.0后开始的默认设置 ,这意味着当进行写操作时,至少要有超过大多数的数据节点确认写操作成功,才会返回成功的响应,目前我们是3个节点,mongo系统定义的一半节点数是 (3+1)/2=2,需要超过2,也就是至少要有3个节点写入成功才行,但是我们设置了一个 仲裁节点,导致3个shard节点中,只有2个可写数据的节点,怎么也不会写成功了,所以导致失败

解决方法,将写入安全级别调低,在路由上使用以下命令

复制代码
db.adminCommand({  "setDefaultRWConcern" : 1,  "defaultWriteConcern" : {    "w" : 1  }})

4. 节点异常关闭后无法重启

  1. 删除data/db下的mongod.lock文件,再启动

  2. 如果还是启动失败

    An incomplete repair has been detected! This is likely because a repair operation unexpectedly failed before completing. MongoDB will not start up again without --repair.

    //修复数据
    mongod --dbpath db目录 --repair

    尝试删除storage.bson文件

    复制代码
    //删除db目录里面的storage.bson 
    rm -rf db目录/storage.bson
相关推荐
05664612 分钟前
RAG 向量检索:从“查字“到“查意“
数据库·人工智能·学习·oracle
bug嘛我经常写14 分钟前
dbf文件UTF-8转GBK编码,以及两编码文件互转
数据库·python
知行合一。。。17 分钟前
LangGraph--03--本地服务与 Studio 调试
数据库
你不是我我34 分钟前
【AI 测评】PostgreSQL主从流复制实战:数据同步、状态验证与故障切换
数据库·postgresql
月落归舟38 分钟前
Redis 三种消息队列实现方案
数据库·redis·list
智购科技智能售货柜1 小时前
自动售货机商品识别YOLO模型训练实战:从6万张图片到98%识别率的完整复盘~YH
运维·服务器·数据库·人工智能·redis·物联网·yolo
ACP广源盛139246256731 小时前
2026 PCIe互连芯片@ACP#国产替代格局解析:芯动科技领跑高端交换芯片赛道
大数据·网络·数据库·人工智能·分布式·嵌入式硬件
代码代码快快显灵1 小时前
MYSQL-DAY2
数据库·mysql
隔窗听雨眠1 小时前
Oracle到PostgreSQL迁移实战:pg_hint_plan执行计划控制完全指南
数据库·postgresql·oracle
IKUN家族2 小时前
常见的依懒
java·服务器·数据库