MongoDB Linux环境安装及配置[转]

CentOS 6.5系统中使用yum安装MongoDB 2.6 教程

CentOS 6.5系统中使用yum安装MongoDB 2.6 教程,本文共分5个步骤完成MongoDB的安装.下面我们在CentOS 6.5 x64系统上安装最新的MongoDB 2.6.0版。

之前的MongoDB v2.4.x版的软件仓库有两个包:


1)mongo-10gen-server
此包里面有最新版的mongod和mongos守护程序以及相关的配置和初始化脚本。


2)mongo-10gen
此包里面有最新版的所有MongoDB工具。这些工具方便你管理MongoDB系统。

 

但在MongoDB v2.6.0版的软件仓库一共有五个包:

1)mongodb-org
此包是元数据包,它可以实现自动安装下面的4个组件包。

2)mongodb-org-server
此包里面有mongod守护程序,以及相关的配置和初始化脚本。

3)mongodb-org-mongos
此包里面有mongos守护程序。

4)mongodb-org-shell
此包里面有mongo shell环境。

5)mongodb-org-tools
此包里面有以下的MongoDB工具:mongoimport、bsondump、mongodump、mongoexport、mongofiles、mongoimport、mongooplog、mongoperf、mongorestore、mongostat以及mongotop。

控制脚本:mongodb-org包里面有各种控制脚本,包括初始化脚本/etc/rc.d/init.d/mongod使用/etc/mongod.conf配置文件来对MongoDB进行配置。

MongoDB 2.6.0版不再有mongos的控制脚本。mongos进程只用于分片的场景。你可以使用mongod初始化脚本来驱动mongos控制脚本。

要安装最新的64位MongoDB 2.6.0版,步骤如下:

 1、创建mongodb.repo文件

在/etc/yum.repos.d/目录下创建文件mongodb-org-2.6.repo,它包含MongoDB仓库的配置信息,内容如下:

touch /etc/yum.repos.d/mongodb-org-2.6.repo   --创建mongodb-org-2.6.repo文件
vim /etc/yum.repos.d/mongodb-org-2.6.repo 
--编辑mongodb-org-2.6.repo文件
[mongodb-org-2.6]
name=MongoDB 2.6 Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

2、执行安装命令

yum install -y mongodb-org

 
3、修改/etc/mongod.conf文件

-----------------------XShell 5-------------------------------------

  sed -i 's/^logpath=\/var\/log\/mongodb\/mongod.log/logpath=\/data\/mongo\/mongod.log/g' /etc/mongod.conf
  sed -i 's/^dbpath=\/var\/lib\/mongo/dbpath=\/data\/mongo/g' /etc/mongod.conf
  sed -i 's/^bind_ip=127.0.0.1/#bind_ip=127.0.0.1/g' /etc/mongod.conf
  sed -i 's/^#quota=true/quota=false/g' /etc/mongod.conf
  sed -i 's/^#port=27017/port=181/g' /etc/mongod.conf

mkdir -p /data/mongo
chown -R mongod:mongod /data/mongo

-------------------------------shell-------------------------------------

vi /etc/mongod.conf
logpath=/var/log/mongodb/mongod.log 修改mongodb数据库日志文件的存放位置/data/mongo/mongod.log
dbpath=/var/lib/mongo 修改mongodb数据库文件的存放位置/data/mongo(记得修改所有者和所有组为mongod:chown -R mongod:mongod /data/mongo)
bind_ip=127.0.0.1 注释掉
#quota=true 取消注释改为quota=false
---------------------shell---------------------------
mkdir -p /data/mongodb
chown -R mongod:mongod /data/mongodb

4、启动\停止\重起\自启动MongoDB

service mongod start
service mongod stop
service mongod restart
chkconfig mongod on

5、验证MongoDB
可以通过检查日志文件/var/log/mongodb/mongod.log的内容来判断mongod进程是否正常运行。

6、设置MongoDB防火墙

iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
service iptables save
service iptables restart 
cat /etc/sysconfig/iptables
service mongod start

 7、添加登陆用户并授权(配置Mongo副本集不能添加用户)

mongo 127.0.0.1:27017/admin  连接mongodb服务器
mongo 127.0.0.1:27017/admin -u用户名 -p密码 连接mongodb服务器(用户名和密码)
db.addUser(
"sa","1234") 添加用户sa,设置密码1234 db.auth("sa","1234") 添加sa用户登录授权
db.system.users.find() 查看所有用户
show users 或者这个命令

exit 退出MongoDB

8、设置MongoDB必须使用登陆用户登录(配置Mongo副本集不用设置这里

service mongod stop
vi /etc/mongod.conf
#noauth=true 改成 noauth=false #auth
=true 取消注释
service mongod start

MongoDB配备多大内存合适?

宽泛点来说,多多益善,如果要确切点来说,这实际取决于你的数据及索引的大小,内存如果能够装下全部数据加索引是最佳情况,不过很多时候,数据都会比内存大,比如本文所涉及的MongoDB实例:

mongo> db.stats()
{
 "dataSize" : 1004862191980,
 "indexSize" : 1335929664
}

本例中索引只有1G多,内存完全能装下,而数据文件则达到了1T,估计很难找到这么大内存,此时保证内存能装下热数据即可,至于热数据是多少,取决于具体的应用,你也可以通过观察faults的大小来判断当前内存是否能够装下热数据,如果faults持续变大,就说明当前内存已经不能满足热数据的大小了。如此一来内存大小就明确了:内存 > 索引 + 热数据,最好有点富余,毕竟操作系统本身正常运转也需要消耗一部分内存。

posted @ 2015-09-09 06:54  —八戒—  阅读(567)  评论(0编辑  收藏  举报