环境:Centos7,MongDb4.2.14
一、下载MogoDb
https://www.mongodb.com/try/download/community?tck=docs_server
我这里就选择4.2.14,直接用wget下载放在opt路径。
[root@lgy opt]# cd /opt/
[root@lgy opt]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.14.tgz
二、禁用Transparent Huge Pages
Transparent Huge Pages (THP) 是一种 Linux 内存管理系统,它通过使用更大的内存页面来减少在具有大量内存的机器上进行翻译后备缓冲区 (TLB) 查找的开销。
但是,数据库工作负载在启用 THP 的情况下通常表现不佳,因为它们往往具有稀疏而不是连续的内存访问模式。在 Linux 上运行 MongoDB 时,应禁用 THP 以获得最佳性能。
这是官方文档的建议:https://docs.mongodb.com/v4.2/tutorial/transparent-huge-pages/
永久关闭:
在vim /etc/rc.local最后添加如下代码
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
临时关闭:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
三、PAM资源限制优化
在/etc/security/limits.conf 最后增加:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
四、安装依赖包
yum -y install libcurl openssl xz-libs
五、Mongodb安装
(1)创建所需的用户和组
[root@lgy opt]# useradd mongod
[root@lgy opt]# echo 123456|passwd --stdin mongod #因为这是测试环境我设置密码123456,生产环境建议设置密码有复杂度
(2)创建mongodb所需的目录结构
[root@lgy opt]# mkdir -p /opt/mongodb/{conf,log,data,bin}
(3)解压包,把包里面bin文件夹下所有文件复制mongodb目录下
[root@lgy opt]# tar -zxvf mongodb-linux-x86_64-rhel70-4.2.14.tgz
[root@lgy opt]# cp -a /opt/mongodb-linux-x86_64-rhel70-4.2.14/bin/* /opt/mongodb/bin
(4)设置目录结构权限
[root@lgy opt]# chown -R mongod.mongod /opt/mongodb
(5)设置用户环境变量
[root@lgy opt]# su - mongod
[mongod@lgy ~]$ vim .bash_profile
export PATH=/opt/mongodb/bin:$PATH
[mongod@lgy ~]$ source .bash_profile
(6)启动mongodb
[mongod@lgy ~]$ mongod --dbpath /opt/mongodb/data --logpath /opt/mongodb/log/mongodb.log --port 27017 --logappend --fork