1.mongodb简介
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
它的特点是高性能、易部署、易使用,存储数据非常方便。
主要功能特性有:
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
2.mongodb安装
(1)解压mongodb.tar
(2)配置环境变量 export PATH=<mongodb的安装目录>/bin;$PATH
(3)建立配置文件 mongodb.conf
基本配置
#数据库数据存放目录
dbpath=/usr/local/data
#数据库日志存放目录
logpath=/usr/local/logs/mongodb.log
#以追加的方式记录日志
logappend = true
#端口号 默认为27017
port=27017
#以后台方式运行进程
fork=true
#关闭http接口,默认关闭http端口访问
nohttpinterface=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
3.mongodb启动命令
mongod --config mongod.conf &
4.mongodb启动服务
# vim /etc/init.d/mongod
【编写脚本】
#!/bin/bash
#chkconfig: 2345 80 90
#description: mongodb
MONGO_HOME=/usr/local/mongodb
start(){
$MONGO_HOME/bin/mongod --config $MONGO_HOME/bin/mongod.conf
}
stop(){
$MONGO_HOME/bin/mongod --config $MONGO_HOME/bin/mongod.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
【授权】
# chmod u+x /etc/init.d/mongod
5.系统优化
在启动之后经常会看到以下警告
WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
We suggest setting it to 'never'
WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
We suggest setting it to 'never'
WARNING: soft rlimits too low. rlimits set to 2048 processes, 262144 files. Number of processes should be at least 131072 : 0.5 times number of files
优化:
echo never >>/sys/kernel/mm/transparent_hugepage/enabled
echo never >>/sys/kernel/mm/transparent_hugepage/defrag
vi /etc/security/limits.conf
mongod soft nofile 64000 mongod hard nofile 64000 mongod soft nproc 32000 mongod hard nproc 32000