Arbiter

MongoDB 主从和Replica Set

烈酒焚心 提交于 2020-04-30 20:37:30
目前主要的MongoDB高可用架构包含: 主从架构 Replica set副本集方式 sharding分片 本文不讨论sharding,在另一篇博客中单独描述了sharding的架构和搭建方式,参考: MongoDB Sharding分片配置 一、主从架构 https://docs.mongodb.com/v3.6/core/master-slave/index.html Master配置文件: dbpath = /home/wang/mongodbDATA/master port = 27017 bind_ip = 192.168.1.100 --3.6开始mongodb默认bind本地localhost master = true Slave配置文件: dbpath = /home/wang/mongodbDATA/slave port = 27017 bind_ip = 192.168.1.101 source = 192.168.1.100:27017 slave = true 这样主从就搭建完毕了,很简单。你可以通过剪切DATA文件夹来初始化,或者直接不初始化,mongo从库会自动从主库拉取数据进行初始化。 db.isMaster() rs.printReplicationInfo() --只能在master执行 rs.printSlaveReplicationInfo(

快速掌握mongoDB(六)——读写分离的副本集实现和Sharing介绍

隐身守侯 提交于 2020-04-28 12:57:44
1 mongoDB副本集 1 副本集简介   前边我们介绍都是单机MongoDB的使用,在实际开发中很少会用单机MongoDB,因为使用单机会有数据丢失的风险,同时单台服务器无法做到高可用性(即当服务器宕机时,没有替代的服务器顶上来,我们的业务也就挂了),MongoDB中的副本集可以完美地解决上边的两个问题。   MongoDB的副本集本质上就是一组mongod进程。复制集的成员有:     1.Primary:主节点,负责所有的写操作;     2.Secondaries:从节点,同步主节点的数据,保存数据副本;     3.Arbiter:仲裁节点,不保存数据,只有一个投票的作用;   副本集运行过程:主节点是集群中唯一一个负责写操作的节点,主节点的写操作都会记录在其操作日志(oplog,是一个 capped collection )中,从节点复制主节点的oplog日志并执行日志中的命令,以此保持数据和主节点一致。副本集的所有节点都可以进行读操作,但是应用程序默认从主节点读取数据。当主节点一段时间(当前默认为10s)不和从节点通信,集群就会开始投票选取新的主节点。下图来自官网,描述了一个一主两从的副本集的结构,应用程序的读写操作默认都是通过主节点进行的。 2 副本集搭建   MongoDB的副本集搭建并不复杂,这里简单演示一下搭建过程。搭建mongoDB副本集时

使用KubeFATE快速部署联邦学习实验开发环境(二)

旧巷老猫 提交于 2020-03-27 18:06:48
3 月,跳不动了?>>> 概述 在前面的文章中,我们介绍过如何使用KubeFATE来部署一个单节点的FATE联邦学习集群。在真实的应用场景中,联邦学习往往需要多个参与方联合起来一起完成任务。基于此,本文将讲述如何通过KubeFATE和Docker-Compose来部署两个参与方的FATE集群,并在集群上运行一些简单的测试以验证其功能的完整性。 FATE集群的组网方式 联邦学习的训练任务需要多方参与,如图1所示,每一个party node都是一方,并且每个party node都有各自的一套FATE集群。而party node和party node之间的发现方式有两种。分别是点对点和星型。默认情况下,使用KubeFATE部署的多方集群会通过点对点的方式组网,但KubeFATE也可以单独部署Exchange服务以支持星型组网。 图 1 FATE集群组网方式 使用KubeFATE和Docker-Compose部署两方训练的集群 KubeFATE的使用分成两部分,第一部分是生成FATE集群的启动文件(docker-compose.yaml),第二个部分是通过docker-compose的方式去启动FATE集群。从逻辑上可将进行这两部分工作的机器分别称为部署机和目标机器。 Figure 1部署机目标机关系图 目标 两个可以互通的FATE实例,每个实例均包括FATE所有组件

MongoDB集群配置

血红的双手。 提交于 2019-11-30 03:09:50
MongoDB集群配置 2019年06月30日 13:21:05 2014Team 阅读数 77更多 分类专栏: MongoDB 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/u012965203/article/details/94307690 一、简介 官网地址: https://www.mongodb.com/ MongoDB 是一个基于【分布式文件存储】的数据库,它属于NoSQL数据库。由 C++ 语言编写。旨在为 WEB 应用提 供【可扩展】的【高性能】数据存储解决方案。 MongoDB是一个介于非系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它 支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部 分功能,而且还支持对数据建立索引。 二、下载 (1)下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.7.tgz (2)解压 mkdir -p /opt/apps/ tar

MongoDB之复制集篇

好久不见. 提交于 2019-11-29 10:08:45
MongoDB之复制集篇 发表评论 A+ 所属分类: Database MongoDB MongoDB复制集 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础 复制集的目的 保证数据在生产部署时的冗余和可靠性,通过在不同的机器上保存副本来保证数据的不会因为单点损坏而丢失。能够随时应对数据丢失、机器损坏带来的风险。 换一句话来说,还能提高读取能力,用户的读取服务器和写入服务器在不同的地方,而且,由不同的服务器为不同的用户提供服务,提高整个系统的负载。 复制集功能介绍 一组复制集就是一组mongod实例掌管同一个数据集,实例可以在不同的机器上面。实例中包含一个主导,接受客户端所有的写入操作,其他都是副本实例,从主服务器上获得数据并保持同步。 主服务器很重要,包含了所有的改变操作(写)的日志。但是副本服务器集群包含有所有的主服务器数据,因此当主服务器挂掉了,就会在副本服务器上重新选取一个成为主服务器。 每个复制集还有一个仲裁者,仲裁者不存储数据,只是负责通过心跳包来确认集群中集合的数量,并在主服务器选举的时候作为仲裁决定结果。 副本集中数据同步 副本集中数据同步过程:Primary节点写入数据,Secondary通过读取Primary的oplog得到复制信息

mongodb集群安装

情到浓时终转凉″ 提交于 2019-11-29 00:06:19
mongodb 的集群方式主要分为三种Replica Set / Sharding / Master-Slaver ,这里只说明最简单的集群搭建方式(生产环境),如果有多个节点可以此类推或者查看官方文档。 Replica Set 中文翻译叫做副本集。其实简单来说就是集群当中包含了多份数据,保证主节点挂掉了,备节点能继续提供数据服务,提供的前提就是数据需要和主节点一致。如下图 Primary表示主节点,Secondary表示备节点,Mongodb(A)表示仲裁节点。主备节点存储数据(M,S),仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。 默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可以通过设置使备节点提供查询服务,这样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。这个设置叫做Read Preference Modes,同时Java客户端提供了简单的配置方式,可以不必直接对数据库进行操作。 仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。这里虽然只有一个备节点,但是仍然需要一个仲裁节点来提升备节点级别。 主节点失效,切换过程如下 下载Mongo安装包 官网下载地址 https://www.mongodb.com/download