實際上網上大家搜索關於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
