(1)redhat或cnetos6.2以上系统
(2)系统开发包完整
(3)ip地址和hosts文件解析正常
(4)iptables防火墙&SElinux关闭
(5)关闭大页内存机制linux
root用户下,在vi /etc/rc.local最后添加以下代码mongodb
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
其余系统关闭参照官方文档:shell
为何要关闭?vim
Transparent Huge Pages (THP) is a Linux memory management system that reduces the overhead of Translation Lookaside Buffer (TLB) lookups on machines with large amounts of memory by using larger memory pages. However, database workloads often perform poorly with THP, because they tend to have sparse rather than contiguous memory access patterns. You should disable THP on Linux machines to ensure best performance with MongoDB.
修改/etc/security/limits.conf安全
#* - nofile 65535
(1)建立所需用户和组bash
groupadd -g 800 mongod useradd -u 801 -g mongod mongod passwd mongod
(2)建立mongodb所需目录结构网络
mkdir -p /mongodb/bin mkdir -p /mongodb/conf mkdir -p /mongodb/log mkdir -p /mongodb/data
(3)上传并解压软件到指定位置app
cd /root/mongodb-linux-x86_64-rhel62-3.2.16/bin cp * /mongodb/bin
(4)设置目录结构权限ide
chown -R mongod:mongod /mongodb
(5)设置用户环境变量spa
su - mongod vi .bash_profile export PATH=/mongodb/bin:$PATH source .bash_profile
(6)启动mongodb
mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork
(7)登陆mongodb
[mongod@server2 ~]$ mongo
注:链接以后会有warning,须要修改(使用root用户)
vim /etc/security/limits.conf #* - nofile 65535
(8)重启生效
reboot
(9)使用配置文件
vim /mongodb/conf/mongodb.conf logpath=/mongodb/log/mongodb.log dbpath=/mongodb/data port=27017 logappend=true fork=true ----------- 关闭mongodb mongod -f /mongodb/conf/mongodb.conf --shutdown 使用配置文件启动mongodb mongod -f /mongodb/conf/mongodb.conf
(10)YAML模式:
-- NOTE: YAML does not support tab characters for indentation: use spaces instead. --系统日志有关 systemLog: destination: file path: "/mongodb/log/mongodb.log" --日志位置 logAppend: true --日志以追加模式记录 --数据存储有关 storage: journal: enabled: true dbPath: "/mongodb/data" --数据路径的位置 -- 进程控制 processManagement: fork: true --后台守护进程 pidFilePath: <string> --pid文件的位置,通常不用配置,能够去掉这行,自动生成到data中 --网络配置有关 net: bindIp: <ip> -- 监听地址,若是不配置这行是监听在0.0.0.0 port: <port> -- 端口号,默认不配置端口号,是27017 -- 安全验证有关配置 security: authorization: enabled --是否打开用户名密码验证
YAML例子
vim /mongodb/conf/mongo.conf systemLog: destination: file path: "/mongodb/log/mongodb.log" logAppend: true storage: journal: enabled: true dbPath: "/mongodb/data/" processManagement: fork: true net: port: 27017 mongod -f /mongodb/conf/mongodb.conf --shutdown mongod -f /mongodb/conf/mongo.conf