一、关闭大页内存
root 用户下,在 /etc/rc.local 追加如下代码(CentOS)
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
其他系统关闭参照官方文档:
https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
二、创建所需用户和组
useradd mongod
passwd mongod
三、创建mongodb所需目录结构
mkdir -p /mongodb/conf
mkdir -p /mongodb/log
mkdir -p /mongodb/data
四、解压软件包
tar xf mongodb-linux-x86_64-rhel70-3.4.16.tgz
cp -r mongodb-linux-x86_64-rhel70-3.4.16/bin /mongodb/
五、配置文件准备
cat > /mongodb/conf/mongo.conf <<EOF
systemLog:
destination: file
path: "/mongodb/log/mongodb.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/mongodb/data/"
processManagement:
fork: true
net:
port: 27017
bindIp: 10.0.0.51,127.0.0.1
EOF
# 授权
chown -R mongod.mongod /mongodb
六、启动和关闭MongoDB
su - mongod
echo 'export PATH=/mongodb/bin:$PATH' >> .bash_profile
source .bash_profile
# 启动
mongod -f /mongodb/conf/mongo.conf
# 关闭
mongod -f /mongodb/conf/mongo.conf --shutdown
七、使用systemd管理
su - root
cat > /etc/systemd/system/mongod.service <<EOF
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
User=mongod
Type=forking
ExecStart=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf --shutdown
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
[root@db01 ~]# systemctl start|stop|restart mongod