一:MongoDB的简介:
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。而且可以很容易的和JSON类的数据结合,他不支持事务,但支持自动分片功能,这对大数据的分布式存储有着十分重要的作用。
二:MongoDB的索引类型:
单字段索引:
组合索引(多字段索引):对多个key做索引
多键索引:对key和value中的key做索引
空间索引:基于位置做索引
文本索引:全文搜索
hash索引:仅支持精确值查找
稀疏索引(sparse):不为每一个值做索引,一般得是顺序排放才可以做稀疏索引
三:MongoDB的复制功能:
MongoDB有两种复制类型:Master/Slave主从和replica set副本集复制,但是由于MongoDB的特性,主从复制架构已经基本放弃,比较常见的就是副本集复制方式
replica set的工作特性:
1,复制集可以实现自动转移 heartbeat超时,自动失效转移(通过选举方式实现)
2,至少有3个节点,且奇数个节点,可以使用arbiter来参与选举
复制集中的特殊类型的节点分类:
0优先级的节点:冷备节点,不会被选举成为主节点,但可以参与选举
被隐藏的从节点:首先是一个0优先级的从节点,拥有选举权,不会被客户端直接访问到
延迟复制的从节点:是一个0优先级的从节点,不能被选为主节点,且复制时间落后与主节点一个固定的时长。
arbiter:仲裁者,没有数据,不可能成为主节点。
CentOS编译安装MongoDB
CentOS 编译安装 MongoDB与mongoDB的php扩展
CentOS 6 使用 yum 安装MongoDB及服务器端配置
Ubuntu 13.04下安装MongoDB2.4.3
《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]
Nagios监控MongoDB分片集群服务实战
实验内容:
一,实现MongoDB数据的复制
实验模型:
实验环境:
node1:172.16.18.1 MongoDB centos6.5
node2:172.16.18.2 MongoDB centos6.5
node3:172.16.18.3 MongoDB centos6.5
实验内容:
首先要确定各节点的时间一致
1.1 MongoDB安装:分别在node1,node2,node3节点安装一下三个包
mogodb安装需要:一下三个包
mongodb-org-shell-2.6.4-1.x86_64.rpm
mongodb-org-tools-2.6.4-1.x86_64.rpm
mongodb-org-server-2.6.4-1.x86_64.rpm
编辑服务器的配置文件,/etc/mongod.conf
logpath=/var/log/mongodb/mongod.log #日志的路径
logappend=true #开启日志
fork=true
#port=27017 #默认监听的端口
#dbpath=/var/lib/mongo #默认的数据路径
dbpath=/mongodb/data #自定义的数据路径
pidfilepath=/var/run/mongodb/mongod.pid
#bind_ip=127.0.0.1 #定义绑定IP,也就是监听那些IP可来链接服务器,注销是允许所有。
httpinterface=true #开放web页面,
rest=true
replSet=testset
replIndexPrefetch=_id_only
配置好后将配置分别发送到其他两个节点,并创建数据目录,修改权限
mkdir /mongodb/data/ -pv
chown -R mongod.mongod /mongodb/
全部启动:可能启动会比较慢,那是因为要初始化数据
1.2链接到数据库