Mongo Replica Set集群搭建
2015-08-23 00:00
776 查看
Mongo Replica Set集群介绍:
Replica Set使用的是n个mongod节点,构建具备自动的容错功能(auto-failover),自动恢复的(auto-recovery)的高可用方案。 如上图,Mongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点。主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。
默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可指定读策略(本文PHP连接Mongo实例),减少主节点读压力。
Mongo Replica Set集群搭建:
(1)建立数据库文件夹、日志文件夹
(2)建立配置文件
配置参数说明:
dbpath:数据存放目录
logpath:日志存放路径
logappend:以追加的方式记录日志
pidfilepath:进程文件,方便停止
mongodb replSet:replica set的名字
bind_ip: 绑定服务ip
port:mongodb进程所使用的端口号,默认为27017
fork:以后台方式运行进程
journal:写日志
smallfiles:使用较小的默认文件
(3)启动mongodb集群
(4)配置主、备、仲裁节点
(5)查看集群配置及状态
PHP客户端连接测试:
Replica Set使用的是n个mongod节点,构建具备自动的容错功能(auto-failover),自动恢复的(auto-recovery)的高可用方案。 如上图,Mongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点。主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。
默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可指定读策略(本文PHP连接Mongo实例),减少主节点读压力。
Mongo Replica Set集群搭建:
(1)建立数据库文件夹、日志文件夹
mkdir /data/mongo_cluster/{master,slave,arbiter} -p mkdir /data/mongo_cluster/master/logs mkdir /data/mongo_cluster/slave/logs mkdir /data/mongo_cluster/arbiter/logs
(2)建立配置文件
#master配置 /data/mongo_cluster/master/master.conf dbpath=/data/mongo_cluster/master logpath=/data/mongo_cluster/master/logs/master.log pidfilepath=/data/mongo_cluster/master/master.pid logappend=true replSet=rep1 bind_ip=192.168.15.130 port=10000 fork=true journal=true #slave配置 data/mongo_cluster/slave/slave.conf dbpath=/data/mongo_cluster/slave logpath=/data/mongo_cluster/slave/logs/slave.log pidfilepath=/data/mongo_cluster/slave/slave.pid logappend=true replSet=rep1 bind_ip=192.168.15.130 port=10001 fork=true journal=true #arbiter配置 /data/mongo_cluster/arbiter/arbiter.conf dbpath=/data/mongo_cluster/arbiter logpath=/data/mongo_cluster/arbiter/logs/arbiter.log pidfilepath=/data/mongo_cluster/arbiter/arbiter.pid logappend=true replSet=rep1 bind_ip=192.168.15.130 port=10002 fork=true journal=true
配置参数说明:
dbpath:数据存放目录
logpath:日志存放路径
logappend:以追加的方式记录日志
pidfilepath:进程文件,方便停止
mongodb replSet:replica set的名字
bind_ip: 绑定服务ip
port:mongodb进程所使用的端口号,默认为27017
fork:以后台方式运行进程
journal:写日志
smallfiles:使用较小的默认文件
(3)启动mongodb集群
/usr/local/mongodb3.0.5/bin/mongod -f /data/mongo_cluster/master/master.conf /usr/local/mongodb3.0.5/bin/mongod -f /data/mongo_cluster/slave/slave.conf /usr/local/mongodb3.0.5/bin/mongod -f /data/mongo_cluster/arbiter/arbiter.conf
(4)配置主、备、仲裁节点
/usr/local/mongodb3.0.5/bin/mongo 192.168.15.130:10000 #登陆master执行下面命令 use admin cfg={ _id:"rep1", members:[ {_id:0,host:'192.168.15.130:10000',priority:2}, {_id:1,host:'192.168.15.130:10001',priority:1},{_id:2,host:'192.168.15.130:10002',arbiterOnly:true}] }; rs.initiate(cfg)
(5)查看集群配置及状态
rs.status()查看集群状态 rs.rs.conf()查看集群配置信息
PHP客户端连接测试:
$options = array( //指定读策略 http://php.net/manual/zh/mongo.readpreferences.php 'readPreference' => MongoClient::RP_SECONDARY_PREFERRED, 'replicaSet' => 'rep1' ); $mongo = new MongoClient("mongodb://192.168.15.130:10000, 192.168.15.130:10001", $options); $rs = $mongo->selectDB("test")->getCollectionNames(); var_dump($rs);
相关文章推荐
- leetcode: (7) Reverse Integer
- Go1.5正式版程序性能分析小积累,实验环境windows64
- 【英语】Bingo口语笔记(55) - work系列
- POJ 2263 Heavy Cargo (SPFA+Dijkstra,最短路变形)
- POJ 2263 Heavy Cargo (SPFA+Dijkstra,最短路变形)
- 【英语】Bingo口语笔记(54) - how to date a foreigner
- Sublime Text 2搭建Go开发环境(Windows)
- Go语言的RPC介绍(含Protobuf-RPC)
- Bingo部署成功 纪念一下
- Good Bye 2014 D. New Year Santa Network 树形dp
- ZJU 2562 More Divisors (反素数)
- hdu4760Good Firewall(Trie树)
- Chrome浏览器设置小窗口视频
- Codeforces 27 E Number With The Given Amount Of Divisors
- hdu-3966 Aragorn's Story(树链剖分,点权)
- poj 2909 Goldbach's Conjecture (哥德巴赫猜想)
- pymongo中的连接操作:Connection()与MongoClient()
- Good Bye 2014 C. New Year Book Reading 贪心
- Good Bye 2014 B. New Year Permutation 并查集 最短路 floyed算法
- 基于Google Material Design设计开发,模块包括图片浏览,视频爽看 ,音乐轻听以及二维码扫描