MongoDB是C++开发的一款开源、无模式的文档型数据库,具有高性能、易部署、易使用、数据存储方便等特点;MongoDB采用Bson(binary json)的形式存储数据,无锁,无事务,有索引,支持集群和分片功,可动态增删结点。
实验环境:
系统:FreeBSD 8.1-RELEASE
版本:mongodb v1.6.6
安装:
目前,官网上并没有FreeBSD下MongoDB的pkg包下载,所以FreeBSD下MongoDB的安装方式只有两种:ports方式和源码方式。其中Ports方式十分简单,但是由于网速等因数影响,可能要很久才能完成安装;而在MongoDB依赖包安装不全的的情况下,使用源码方式安装MongoDB相对会更为复杂。
1. Ports方式安装MongoDB:
- cd /usr/ports/databases/mongodb
- make
- make install
Ports方式安装MongoDB十分简单,就以上三条命令。但由于网络问题或Ports树太旧等原因可能会报错。如出现错误终止,请仔细观察错误代码,删除/usr/ports/distfiles/下未下载完成的文件或更新Ports树后重新Make。
如果你有多台FreeBSD主机要安装MongoDB,而且这些主机的硬件平台几乎相同,为了提高工作效率,你可以将Ports方式安装的MongoDB、以及MongoDB的依赖包,打包成pkg包,然后通过scp方式复制到其他主机上使用pkg_add命令安,效率会成倍的提高。具体打包方式如下:
- cd /var/db/pkg
- pkg_create -R -b mongodb-1.* # 把*号换成版本号,-R参数为连同依赖包一起打包
- ls *.tbz # 查看打好的包
按以上方式打好包后,即可以拷贝到其他主机上,使用pkg_add mongodb-1.*.tbz进行安装。
2. 源码的方式安装:
①. 下载MongoDB:
打开www.mongodb.org/downloads页面,在最后一列找到你要需要版本的源码(我这里是v1.6.6),然后执行下列命令:
- #安装依赖包
- cd /usr/ports/lang/spidermonkey && make && make install
- cd /usr/ports/devel/scons && make && make install #在弹出的窗口中选上"python"
- cd /usr/ports/devel/boost-all && make && make install
- cd /usr/ports/devel/libexecinfo && make && make install
- cd /usr/ports/devel/pcre && make && make install #官方的文档中没此项,会报错
- #下载,解压,编译
- cd /usr/local
- fetch http://downloads.mongodb.org/src/mongodb-src-r1.6.5.tar.gz
- tar -zxvf mongodb-src-r1.6.5.tar.gz
- mv mongodb-src-r1.6.5 mongodb-1.6.5
- cd mongodb-1.6.5
- scons . # 然后等待完成
- # 设置环境变量
- export PATH=$PATH:/usr/local/mongodb-1.6.5
启动MongoDB服务:
MongoDB的服务端运行模式有三种,分别是:单台模式、主从模式、分片模式。
1. 单台模式的Mongodb的启动:
- mkdir -p /data/db
- mongod --dbpath /data/db --logpath /data/db/db.log --fork
- # 查看状态
- mongo 127.0.0.1:27017
- show dbs #显示数据库
- help
2. 主从(Master、Slave)模式的Mongodb的启动:
Master主机( ip为10.0.0.1):
- mongod --master --dbpath /data/master --logpath /data/master/master.log --fork
- cat /data/master/master.log
Slave主机(ip为10.0.0.2):
- mongod --slave --dbpath /data/slave --logpath /data/slave/slave.log --source 10.0.0.1:27017 --fork
- cat /data/slave/slave.log
测试:
- # 查看状态
- mongo 10.0.0.1:27017
- show dbs #显示数据库
- help
3. 分片模式:
由于分片模式配置相对复杂,在另篇文章详细介绍。
转载于:https://blog.51cto.com/kure6/932183