CentOS 6.6下安装MongoDB 3.0.1

根据服务器的硬盘情况,其中/home为固态盘,/data为固态盘 /storage为机械盘

安装openssl
#yum install -y openssl-devel openssl

# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.1.tgz
# tar xzvf mongodb-linux-x86_64-rhel62-3.0.1.tgz

# mkdir -p /home/local/
# mv mongodb-linux-x86_64-rhel62-3.0.1 /home/local/mongodb
# mkdir -p /data/mongodb
# mkdir -p /data/logs/mongodb
# touch /data/logs/mongodb/mongodb.log
# chmod -R 777 /data/logs/mongodb/mongodb.log

设置ulimit -n和ulimit -u的值大于20000。如果ulimit的值设置过低的话,当MongoDB处于      频繁访问的状态下,将会产生错误,最终导致无法连接到MongoDB实例。
# ulimit -n 25000
# ulimit -u 25000

# cd /home/local/mongodb/bin/
# vi mongodb.conf
port=20000 #端口
dbpath= /data/mongodb #数据文件存放目录
logpath=/data/logs/mongodb/mongodb.log #日志文件存放目录
logappend=true #使用追加的方式写日志
fork=true #以守护程序的方式启用,即在后台运行
maxConns=5000 #最大同时连接数 默认2000
bind_ip=127.0.0.1,172.16.20.126 #只允许通过局域网IP:172.16.20.126及本机访问
noauth=true #不启用验证
nohttpinterface=true
rest=false

设置防火墙,以便局域网内的其它服务器可以访问
vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20000 -j ACCEPT

/etc/init.d/iptables restart

如果没有numactl命令,使用yum安装
yum install -y numactl

在proc中关闭NUMA
# echo 0 > /proc/sys/vm/zone_reclaim_mode 
# sysctl -w vm.zone_reclaim_mode=0

扫描二维码关注公众号,回复: 1984694 查看本文章

启动命令:
# numactl --interleave=all /home/local/mongodb/bin/mongod --config /home/local/mongodb/bin/mongodb.conf

# numactl --interleave=all /home/local/mongodb/bin/mongod -f /home/local/mongodb/bin/mongodb.conf

about to fork child process, waiting until server is ready for connections.
forked process: 25071
child process started successfully, parent exiting

正常停止方法:
# ps aux | grep mongod
# kill  -2 PID

# /home/local/mongodb/bin/mongo -port 20000
> use  admin 
> db.shutdownServer();

2015-03-19T00:43:27.760+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-03-19T00:43:27.760+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

不重启服务器的情况下解决办法,在Linux下执行:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

服务器重启后立即生效办法:
# vi /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

开机自动启动mongodb
# vi /etc/rc.d/rc.local
rm -rf /data/mongodb/mongod.lock
numactl --interleave=all /home/local/mongodb/bin/mongod -f /home/local/mongodb/bin/mongodb.conf

说明:启动时必须加numactl --interleave=all

更多MongoDB相关教程见以下内容

基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htm

MongoDB 的详细介绍请点这里
MongoDB 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2015-12/126593.htm