标签为 MongoDB 的文章

MongoDB主从复制与副本集群实践

参考资料:
http://www.cnblogs.com/huangxincheng/archive/2012/03/04/2379755.html
http://blog.sina.com.cn/s/blog_a34f10a4010113df.html

一、部署主从复制

1、主服务器和从服务器必须开启安全认证:--auth
2、主服务器和从服务器的admin数据库中必须有全局用户。
3、主服务器的local数据库和从服务器的local数据均有名为repl且密码相同的用户名。

主服务器设置:
dongguo@mongodb:~$ mongo

MongoDB shell version: 2.2.0
connecting to: test
> use admin
switched to db admin
> db.addUser('rootm','rootm')
{
	"user" : "rootm",
	"readOnly" : false,
	"pwd" : "aa6526e3b7cbcecc18b2bd822f7c3547",
	"_id" : ObjectId("50659e14d2fe6be605337c18")
}
> db.addUser('repl','repl')
{
	"user" : "repl",
	"readOnly" : false,
	"pwd" : "c9f242649c23670ff94c4ca00ea06fe7",
	"_id" : ObjectId("5065a85eccf77b17681365b7")
}
> use cloud
switched to db cloud
> db.addUser('repl','repl')
{
	"_id" : ObjectId("5065a7cbb70f43c4d157e8ec"),
	"user" : "repl",
	"readOnly" : false,
	"pwd" : "c9f242649c23670ff94c4ca00ea06fe7"
}
> use local
switched to db local
> db.addUser('repl','repl')
{
	"user" : "repl",
	"readOnly" : false,
	"pwd" : "c9f242649c23670ff94c4ca00ea06fe7",
	"_id" : ObjectId("50659e2cd2fe6be605337c19")
}
> exit
bye

dongguo@mongodb:~$ sudo /etc/init.d/mongod stop

dongguo@mongodb:~$ sudo vim /opt/mongodb/etc/mongod.conf
修改如下设置:

master = true
auth = true

阅读全文 »

,

No Comments

安装配置RockMongo图形化管理工具

安装配置RockMongo图形化管理工具

$ sudo apt-get install apache2 php5 php5-dev dh-make-php

$ wget http://rock-php.googlecode.com/files/rockmongo-v1.1.2.zip
$ unzip rockmongo-v1.1.2.zip

$ sudo mv rockmongo /var/www/
$ sudo chown -R www-data:www-data /var/www/

$ sudo pecl install -f mongo 2.2.0

配置php.ini:
$ sudo vim /etc/php5/apache2/php.ini
extension_dir = "/usr/lib/php5/20090626"
extension = "mongo.so"

$ sudo /etc/init.d/apache2 restart

访问:http://10.6.1.145/rockmongo/
默认的账号与密码:admin/admin
登陆后如下图所示:

阅读全文 »

,

No Comments

安装配置MongoDB

参考资料:
http://blog.izhoufeng.com/posts/205.html

1. Mongodb介绍
1.1 MongoDB (名称来自”humongous”) 是一个可扩展的,高性能,开源,模式自由,面向文档的数据库,使用C++编写;以下是MongoDB特点:
1.1.1 面向集合的存储:适合存储对象及JSON形式的数据。
1.1.2 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
1.1.3 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
1.1.4 查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。
1.1.5 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。
1.1.6 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。
1.1.7 自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。

1.2 MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。根据官方网站的描述,Mongo适合用于以下场景:
1.2.1 网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
1.2.2 缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载。
1.2.3 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
1.2.4 高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。
1.2.5 用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。

1.3 自然,MongoDB的使用也会有一些限制,例如它不适合:
1.3.1 高度事务性的系统:例如银行或会计系统。传统的关系型数据库更适用于需要大量原子性复杂事务的应用程序。
1.3.2 传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式,数据仓库可能是更合适的选择。
1.3.3 需要SQL的问题。

2. Mongodb安装部署
2.1 建立数据目录和日志目录
$ sudo mkdir -p /opt/mongodb/data
$ sudo mkdir -p /opt/mongodb/log
$ sudo mkdir -p /opt/mongodb/etc
$ sudo mkdir -p /opt/mongodb/run

2.2 下载压缩包
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.0.tgz

2.3 解压缩文件后不用安装
$ tar xzvf mongodb-linux-x86_64-2.2.0.tgz
$ sudo mv mongodb-linux-x86_64-2.2.0/bin /opt/mongodb/

2.4 查看命令help
$ /opt/mongodb/bin/mongod --help
以下是部分参数的解释:
阅读全文 »

2 Comments