mongodb的复制集及搭建
来源:互联网 发布:淘宝运营应该怎么做 编辑:程序博客网 时间:2024/06/01 07:40
1.mongodb的复制集
MongoDB复制是将数据同步在多个服务器的过程。
复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。
MongoDB复制集是一组拥有相同数据集的mongodb实例组成的集群。
2.mongodb复制集中的读写
写操作:
在mongodb中,进行写操作时,都是写入主节点的,同时会把操作记录在主节点的oplog记录中,而从节点则根据oplog的操作记录复制主节点的操作
读操作:
读操作也是从主节点中读取,因为由于各种原因,从节点的更新速度会慢与主节点
(这里与MYSQL的区别:虽然MYSQL可以设置主从表,而且从表可以加上read only限制,但是拥有一定权限则可以对从表进行写入操作,但是mongodb是绝对不可以)
3.mongodb复制集的特性
- 数据一致性
mongodb是支持主节点唯一的,很好的保证了数据的一致性(注意:Mysql是有双主结构的),但是主节点不是固定的,当主节点挂了之后,从节点会进行选举,或者是人为配置,选出一个从节点作为主节点 - 大多数原则(保证数据的备份)
集群存活节点小于等于二分之一时,集群则不可写,只能读。(复制集的服务器挂了一半就无法进行选举,全部变为从节点)
4.复制集中的节点类型
数据节点:存储数据,允许读写(可以作为主从节点)
投票节点:只在选举主节点时起作用,不允许存储数据
5.mongodb复制集搭建过程
- 建立数据文件夹
mkdir -p /mongodb/data/master mkdir -p /mongodb/data/slaver mkdir -p /mongodb/data/arbiter #三个目录分别对应主,备,仲裁节点
- 建立配置文件
#master.conf dbpath=/mongodb/data/master logpath=/mongodb/log/master.log pidfilepath=/mongodb/master.pid directoryperdb=true logappend=true replSet=testrs bind_ip=10.10.148.130 port=27017 oplogSize=10000 fork=true noprealloc=true
#arbiter.conf dbpath=/mongodb/data/arbiter logpath=/mongodb/log/arbiter.log pidfilepath=/mongodb/arbiter.pid directoryperdb=true logappend=true replSet=testrs bind_ip=10.10.148.132 port=27017 oplogSize=10000 fork=true noprealloc=true
参数解释:
dbpath:数据存放目录
logpath:日志存放路径
pidfilepath:进程文件,方便停止mongodb
directoryperdb:为每一个数据库按照数据库名建立文件夹存放
logappend:以追加的方式记录日志
replSet:replica set的名字
bind_ip:mongodb所绑定的ip地址
port:mongodb进程所使用的端口号,默认为27017
oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%
fork:以后台方式运行进程
noprealloc:不预先分配存储
- 启动mongodb(进入每一个mongodb节点的bin目录下,启动)
./monood -f master.conf ./mongod -f slaver.conf ./mongod -f arbiter.conf
- 配置主,备,仲裁节点
可以通过客户端连接mongodb,也可以直接在三个节点中选择一个连接mongodb
./mongo 10.10.148.130:27017 #ip和port是某个节点的地址 >use admin >cfg={ _id:"testrs", members:[ {_id:0,host:'10.10.148.130:27017',priority:2}, {_id:1,host:'10.10.148.131:27017',priority:1}, {_id:2,host:'10.10.148.132:27017',arbiterOnly:true}] }; >rs.initiate(cfg) #使配置生效
cfg是可以任意的名字,当然最好不要是mongodb的关键字,conf,config都可以。最外层的_id表示replica set的名字,members里包含的是所有节点的地址以及优先级。优先级最高的即成为主节点,即这里的10.10.148.130:27017。特别注意的是,对于仲裁节点,需要有个特别的配置——arbiterOnly:true。这个千万不能少了,不然主备模式就不能生效。
- mongodb的复制集及搭建
- mongodb复制集的搭建
- mongodb复制集搭建
- 搭建mongodb复制集
- mongodb复制集搭建
- MongoDB -- 复制集搭建
- mongodb复制集搭建
- 搭建mongodb复制集
- mongoDB 的复制集 replication的搭建
- MongoDB复制集环境搭建
- mongodb学习:复制集搭建
- mongoDB的复制集1----复制集的特点、快速搭建复制集
- 第六章:MongoDB Replica Sets复制集的搭建
- MongoDB的复制集
- MongoDB的复制集
- 搭建MongoDB主从复制(Master-Slave)集
- 5分钟搭建mongodb复制集
- MongoDB之复制集(二)搭建
- HDU 6195 cable cable cable
- 最大长方形(二)
- 实战8.Spark MLlib(下)--机器学习库SparkMLlib实战
- Android中ActionBar和ToolBar添加返回箭头
- 实战9.Spark图计算GraphX介绍及实例
- mongodb的复制集及搭建
- history命令格式修改
- javascript<1>
- HDU 6205 card card card
- 【Java概念】类组成结构、成员变量、成员方法(5)
- P问题和NP问题
- javascript<2>
- 实战10.分布式内存文件系统Tachyon介绍及安装部署
- python读写CSV