Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7116769
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: LINUX

2015-02-07 13:22:07

Linux下MongoDB集群--副本集环境搭建

[日期:2015-02-06] 来源:Linux社区  作者:liuyu_java [字体:  ]
mongoDB 副本集适合写比较少,读较多的场景,写可以使用消息队列来进行控制,这样可以减少高并发写带来的压力。副本集的使用场景要根据自己的项目需求来选择,要是有着高并发的写需求,建议采用分片的方式搭建集群,在稳定性方面要比副本集要高。我这里的使用场景是将写入操作用队列控制,主要是查询多。

副本集中的副本节点在主节点挂掉后通过心跳机制检测到后,就会在集群内发起主节点的选举机制,自动选举一位新的主服务器。

主节点故障后会实现自动切换,节点数量一定要大于等于3,否则可能会出现选主错误。官方建议为奇数节点,我这里使用3个节点。

 在各个节点上分别安装mongoDB

 mkdir /data/mongo/replset 
 #存放mongodb数据文件
mkdir -p /data/mongo/replset/data 
 #进入mongodb文件夹
cd  /data/mongo
下载到部署包
wget
 tar xzvf mongodb-linux-x86_64-2.4.12.tar
接下来在各个机器上启动,命令如下:
/data/mongo/mongodb-linux-x86_64-2.4.12/bin/mongod  --fork  --dbpath /data/mongo/replset/data  --logpath=/data/mongo/logs/logs.info  --replSet repset 
注意:是后台启动,要加上fork
在三台机器上任意一台机器登陆mongodb
 /data/mongo/mongodb-linux-x86_64-2.4.12/bin/mongo
 use admin
定义副本集配置变量
config = { _id:"repset", 
  members:[
      {_id:0,host:"x.x.x.8:27017"}, 
      {_id:1,host:"x.x.x.9:27017"},
      {_id:2,host:"x.x.x.10:27017"}
      ]}

配置成功后入如图

 初始化副本集
rs.initiate(config);

查看集群节点的状态 
rs.status();

测试副本集是否同步
 在主节点上登陆
/data/mongo/mongodb-linux-x86_64-2.4.12/bin/mongo  127.0.0.1或者本机节点IP
建立测试数据库
use test;

 db.testdb.insert({"demo":"demo"})
再到其他副本机器上查看,数据已经同步。

 可以停掉主节点,然后看看自动选主的效果。

编译安装MongoDB 

CentOS 编译安装 MongoDB与mongoDB的php扩展 

CentOS 6 使用 yum 安装MongoDB及服务器端配置 

 13.04下安装MongoDB2.4.3 

MongoDB入门必读(概念与实战并重) 

Ubunu 14.04下MongoDB的安装指南 

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] 

Nagios监控MongoDB分片集群服务实战 

基于CentOS 6.5操作系统搭建MongoDB服务 

MongoDB 的详细介绍
MongoDB 的下载地址

本文永久更新链接地址

阅读(878) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~