mongodb systemd 修改dbpath 相关问题的解方法

实际上网上大家搜索关于mongo 启动异常的问题,无非是异常启动的,但是如果使用的是rpm 包安装的同时修改了dbpath 可能会
碰到一些其他的问额,主要原因如下

  • selinux
  • iptables
  • 文件夹权限

解决方法

  • 权限的问题
    chow 到mongod 账户,相对比较简单了,可能还会有文件夹不存在的,创建就可以了
  • 因为selinux 引起的
    这个的就比较多了,最简单的方法就是禁用seliux
    参考
 
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled

额外的几个问题

  • transparent_hugepage
    推荐解决方法,可以通过profile 解决,参考(当然也可以通过rc.local 解决)
 
vim /etc/profile
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • numa 问题
    方法很多,有禁用的,需要修改内核参数(不推荐)
 
/etc/default/grub
添加:
GRUB_CMDLINE_LINUX=" 。。。。 transparent_hugepage=never numa=off"
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

使用numactl 解决(注意需要修改mongo 的systemd 文件,以及安装numactl)

yum install -y numactl 
vim /usr/lib/systemd/system/mongod.service
ExecStart=/usr/bin/numactl --interleave=all /usr/bin/mongod $OPTIONS
  • ulimit 相关的
    比较简单,推荐的是全局配置/etc/security/limits.conf 文件
 
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535

参考资料

https://www.patricia-anong.com/blog/2017/5/16/installing-mongodb-34-on-rhel-7centos-7

posted on   荣锋亮  阅读(882)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-08-01 redisql 试用
2018-08-01 wiremock docker 运行
2018-08-01 QLoo graphql engine 学习三 架构
2018-08-01 QLoo graphql engine 学习二 基本试用(kubernetes)
2018-08-01 QLoo graphql engine 学习一 基本试用(docker&&docker-compose)
2018-08-01 使用rollup 开发专业js library
2018-08-01 QLoo graphql engine了解

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示