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:

  1. cd /usr/ports/databases/mongodb  
  2. make  
  3. make install 

  Ports方式安装MongoDB十分简单,就以上三条命令。但由于网络问题或Ports树太旧等原因可能会报错。如出现错误终止,请仔细观察错误代码,删除/usr/ports/distfiles/下未下载完成的文件或更新Ports树后重新Make。
  如果你有多台FreeBSD主机要安装MongoDB,而且这些主机的硬件平台几乎相同,为了提高工作效率,你可以将Ports方式安装的MongoDB、以及MongoDB的依赖包,打包成pkg包,然后通过scp方式复制到其他主机上使用pkg_add命令安,效率会成倍的提高。具体打包方式如下:

  1. cd /var/db/pkg 
  2. pkg_create -R -b mongodb-1.*   # 把*号换成版本号,-R参数为连同依赖包一起打包 
  3. ls *.tbz            # 查看打好的包 

  按以上方式打好包后,即可以拷贝到其他主机上,使用pkg_add mongodb-1.*.tbz进行安装。
2. 源码的方式安装:
①. 下载MongoDB:
打开www.mongodb.org/downloads页面,在最后一列找到你要需要版本的源码(我这里是v1.6.6),然后执行下列命令:

  1. #安装依赖包 
  2. cd /usr/ports/lang/spidermonkey && make && make install 
  3. cd /usr/ports/devel/scons && make && make install  #在弹出的窗口中选上"python" 
  4. cd /usr/ports/devel/boost-all && make && make install 
  5. cd /usr/ports/devel/libexecinfo && make && make install 
  6. cd /usr/ports/devel/pcre && make && make install    #官方的文档中没此项,会报错 
  7.  
  8. #下载,解压,编译 
  9. cd /usr/local 
  10. fetch http://downloads.mongodb.org/src/mongodb-src-r1.6.5.tar.gz 
  11. tar -zxvf mongodb-src-r1.6.5.tar.gz 
  12. mv mongodb-src-r1.6.5 mongodb-1.6.5 
  13. cd mongodb-1.6.5 
  14. scons .                # 然后等待完成 
  15.  
  16. # 设置环境变量 
  17. export PATH=$PATH:/usr/local/mongodb-1.6.5 

启动MongoDB服务:
  MongoDB的服务端运行模式有三种,分别是:单台模式、主从模式、分片模式。
1. 单台模式的Mongodb的启动

  1. mkdir -p /data/db  
  2. mongod --dbpath /data/db --logpath /data/db/db.log  --fork 
  3.  
  4. # 查看状态 
  5. mongo 127.0.0.1:27017 
  6. show dbs #显示数据库 
  7. help 

2. 主从(Master、Slave)模式的Mongodb的启动:
Master主机( ip为10.0.0.1):

  1. mongod --master --dbpath /data/master --logpath /data/master/master.log  --fork 
  2. cat /data/master/master.log 

Slave主机(ip为10.0.0.2):

  1. mongod --slave --dbpath /data/slave --logpath /data/slave/slave.log  --source 10.0.0.1:27017 --fork 
  2. cat /data/slave/slave.log 

测试:

  1. # 查看状态 
  2. mongo 10.0.0.1:27017 
  3. show dbs #显示数据库 
  4. help

3. 分片模式:
由于分片模式配置相对复杂,在另篇文章详细介绍。

相关网站:
1. MongoDB下载:www.mongodb.org/downloads
2. 各种平台的安装帮助: http://www.mongodb.org/display/DOCS/BUILDING
3. 他们在使用MongoDB: http://www.mongodb.org/display/DOCS/Production+Deployments
4. 开发驱动:http://www.mongodb.org/display/DOCS/Drivers

此文章由 Admin 于 2011-01-13 10:15:40 编辑

本日志由 Admin 于 2011-01-11 14:15:42 发表,目前已经被浏览 1710 次,评论 40 次;

作者添加了以下标签: FreeBSDMongoDB

引用通告:http://www.aiezu.com/Article/34/Trackback.ashx

评论订阅:http://www.aiezu.com/Article/34/Feeds.ashx

相关文章

评论列表

  1. 2011-02-27 14:50:17 | # | 回复
    希望今年,能够有个好工作,好的着落
  2. 2011-02-28 22:59:22 | # | 回复
    博客做的不错,文章也不错
  3. 2011-03-01 16:48:38 | # | 回复
    写的真不错 顶一个!
  4. 2011-04-01 14:08:38 | # | 回复
    支持技术贴
  5. Gravatar
    none
    2011-05-19 21:30:09 | # | 回复
    freebsd 有export吗?
  6. Gravatar
    Admin
    2011-05-30 14:54:46 | # | 回复
    @none 不管是FreeBsd,还是Linux,你使用的是bash就有export, 使用的是csh就是setenv,Freebsd默认是csh!
  7. 2011-06-11 10:46:25 | # | 回复
    language, English better said, those of history, geography, politics, philosophy and other subjects have been afraid of is almost forgotten, it seems that this month they have to desperately wicked
  8. 2011-06-28 15:36:12 | # | 回复
    真好,支持下。。。
  9. 2011-07-05 09:30:55 | # | 回复
    都是编程啊,不过不错
  10. 2011-08-27 09:53:29 | # | 回复
    好复杂
  11. 2011-10-13 16:10:10 | # | 回复
    555clf3
    it seems that this month they have to desperately wicked
  12. 2011-10-13 16:13:38 | # | 回复
    555clf1
    很好
  13. 2011-10-14 11:48:30 | # | 回复
    that the islands of Kamouraska, still insulate only at high
  14. 2011-10-18 10:31:02 | # | 回复
    jidbuwan@126.com
  15. 2011-11-03 23:45:23 | # | 回复
    very good thank you
  16. 2011-11-25 15:26:26 | # | 回复
    支持下。。。
  17. 2011-12-12 13:08:27 | # | 回复
    instrument lies on the ground. Close to this spot stands a sturdy grenadier sheltering himself, like
  18. 2012-02-20 15:13:22 | # | 回复
    <a title="Christian Louboutin Sandals" href="http://www.mygirlboots.com/christian-louboutin-sandals-c-3.html">Christian Louboutin Sandals</a>
  19. 2012-02-20 15:14:29 | # | 回复
    [url=http://www.redroselady.com]shoes tory burch[/url]
  20. 2012-02-20 17:06:54 | # | 回复
    Church Christian louboutin pumps Yves Saint Laurent Pumps
402/2
(必填)
(必填,不会被公开)
你的评论在博主审核后方可公开。