M1 Mac使用配置文件部署MongoDB分片集群启动报错求助
问题根因
- 首次启动报错:你编写的配置文件未指定
storage.dbPath参数,MongoDB配置节点默认会读取/data/configdb作为数据存储目录,M1架构的MacOS不会默认创建该目录,且普通用户无系统根目录写入权限,因此触发路径不存在报错。 - 二次启动报错:你将
--dbpath参数的值填写为了配置文件本身的路径,dbpath要求传入一个空的目录用于存储MongoDB数据文件,传入文件路径会触发「不是目录」的报错。
解决步骤
- 第一步:创建专属数据存储目录(可自定义路径,只要当前用户有读写权限即可)
mkdir -p MongoDB/configdb - 第二步:选择以下任意一种方式配置数据目录即可
- 配置文件添加参数(推荐,后续启动无需额外加参数)
在你现有的配置文件末尾补充如下配置段:
补充后使用原命令启动即可:storage: dbPath: MongoDB/configdbmongod --config MongoDB/cluster_mongod_twitter_config_server.conf - 启动命令直接指定参数
无需修改配置文件,直接执行如下启动命令即可:mongod --config MongoDB/cluster_mongod_twitter_config_server.conf --dbpath MongoDB/configdb
- 配置文件添加参数(推荐,后续启动无需额外加参数)
- 额外适配M1 Mac的注意事项
- 请确认你安装的是适配Apple Silicon架构的MongoDB版本,避免架构兼容问题
- 若启动时出现权限报错,执行以下命令给数据目录授权:
chown -R $(whoami) MongoDB/configdb - 若出现端口占用报错,执行
lsof -i:27218查看占用进程,终止对应进程后再启动即可
内容的提问来源于stack exchange,提问作者Gianmarco
相关产品推荐
相关产品推荐

