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 -j ACCEPT
service iptables save
service iptables restart
cat /etc/sysconfig/iptables
service mongod start
7、添加登陆用户并授权(配置Mongo副本集不能添加用户)
mongo 127.0.0.1:/admin 连接mongodb服务器
mongo 127.0.0.1:27017/admin -u用户名 -p密码 连接mongodb服务器(用户名和密码)
db.addUser("sa","") 添加用户sa,设置密码1234
db.auth("sa","") 添加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" : ,
"indexSize" :
}
本例中索引只有1G多,内存完全能装下,而数据文件则达到了1T,估计很难找到这么大内存,此时保证内存能装下热数据即可,至于热数据是多少,取决于具体的应用,你也可以通过观察faults的大小来判断当前内存是否能够装下热数据,如果faults持续变大,就说明当前内存已经不能满足热数据的大小了。如此一来内存大小就明确了:内存 > 索引 + 热数据,最好有点富余,毕竟操作系统本身正常运转也需要消耗一部分内存。