首先按照文档说明操作
1. vim /etc/yum.repos.d/mongodb-org-3.0.repo
写入以下内容:
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
2. yum install -y mongodb-org
3. 关闭selinux
vim /etc/selinux/config
改为:SELINUX=permissive
重启系统
4. 修改mongodb的配置
vim /etc/mongod.conf
修改以下内容:
logpath=/data/mongodb3/mongod.log
dbpath=/data/mongodb3/data
pidfilepath=/data/mongodb3/mongod.pid
5. 启动Mongodb
service mongod start
这时发现启动失败。
排错过程:
看了一下启动脚本,发现是以下语句执行错误:
runuser -s /bin/bash mongod -c 'ulimit -S -c 0; numactl --interleave=all /usr/bin/mongod -f /etc/mongod.conf'
单独执行上述语句,依然失败。
搜了一下网络,发现需要删除lock文件:rm -f /data/mongodb3/data/mongod.lock
执行 runuser -s /bin/bash mongod -c 'ulimit -S -c 0; numactl --interleave=all /usr/bin/mongod -f /etc/mongod.conf' 依然失败。
仔细看了一下runuser的用法,感觉可能是mongod用户目录有问题,修改之:
vim /etc/passwd
把mongod一行的用户目录改为/data/mongodb3/data
再删除mongod.lock文件:
rm -f /data/mongodb3/data/mongod.lock
再次执行 runuser -s /bin/bash mongod -c 'ulimit -S -c 0; numactl --interleave=all /usr/bin/mongod -f /etc/mongod.conf' 成功!
杀死本进程,删除mongod.lock文件
执行:
service mongod start
chkconfig mongod on
完成