centos6.6下安装MongoDB3.x
- 从MongoDB3.0版起,其安装包比以前更细化: Linux 64-bit legacy 这个版本即mongodb-linux-x86_64-3.x.tgz 不推荐在正式环境使用,这个版本特点是没有连接ssl相关的库。推荐按相应操作系统版本选择对应的安装包如centos6 rhel6选择RHEL 6.
规划安装目录
- 新建用户nosql:useradd nosql
- mongodb解压安装目录:/home/nosql
- 数据目录:mkdir -p /home/nosql/data/mongodb
- 日志目录 mkdir -p /home/nosql/data/logs
- 初始化日志 touch /home/nosql/data/logs/mongodb.log chmod -R 777 /home/nosql/data/logs/mongodb.log
安装openssl(root)
代码语言:javascript复制# yum install -y openssl-devel openssl
下载安装
代码语言:javascript复制# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.1.tgz
# tar xzvf mongodb-linux-x86_64-rhel62-3.2.1.tgz -C /home/nosql
# mv /home/nosql/mongodb-linux-x86_64-rhel62-3.2.1 /home/nosql/mongodb
调整系统参数
设置ulimit -n和ulimit -u的值大于20000。如果ulimit的值设置过低的话,当MongoDB处于 频繁访问的状态下,将会产生错误,最终导致无法连接到MongoDB实例。
代码语言:javascript复制# ulimit -n 25000
# ulimit -u 25000
配置文件参数配置
代码语言:javascript复制# cd /home/nosql/mongodb/bin/
# vi mongodb.conf
port=27017 #端口
dbpath=/home/nosql/data/mongodb #数据文件存放目录
logpath=/home/nosql/data/logs/mongodb.log #日志文件
logappend=true #使用追加的方式写日志
fork=true #以守护程序的方式启用,即在后台运行
bind_ip=127.0.0.1,192.168.137.1 #绑定本机ip
noauth=true #不启用验证
nohttpinterface=true
rest=false
设置防火墙
代码语言:javascript复制vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
/etc/init.d/iptables restart
启动命令:
代码语言:javascript复制# /home/nosql/mongodb/bin/mongod --config /home/nosql/mongodb/bin/mongodb.conf
或
# /home/nosql/mongodb/bin/mongod -f /home/nosql/mongodb/bin/mongodb.conf
正常停止方法:
代码语言:javascript复制# ps aux | grep mongod
# kill -2 PID
或
# /home/nosql/mongodb/bin/mongo
> 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
代码语言:javascript复制# vi /etc/rc.d/rc.local
rm -rf /home/nosql/mongodb/mongod.lock
/home/nosql/mongodb/bin/mongod -f /home/nosql/mongodb/bin/mongodb.conf
mongodb的NUMA问题解决方案
mongodb的NUMA问题 NUMA是什么?为什么使用NUMA? mongodb日志显示如下: WARNING: You are running on a NUMA machine. We suggest launching mongod like this to avoid performance problems: numactl –interleave=all mongod [other options] * 解决方案:
- 在原启动命令前面加numactl –interleave=all 如# numactl --interleave=all ${MONGODB_HOME}/bin/mongod --config conf/mongodb.conf
- 修改内核参数 echo 0 > /proc/sys/vm/zone_reclaim_mode
http://www.mongodb.org/display/DOCS/NUMA
安装MongoChef
linux版本: wget https://cdn.3t.io/mongochef/linux/3.3.0.1717/mongochef-linux-x86-dist.tar.gz
喜欢 (0)or分享 (0)