持久化

2--Master主备切换机制原理剖析与源码分析

淺唱寂寞╮ 提交于 2019-12-01 00:26:36
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

2--Master主备切换机制原理剖析与源码分析

感情迁移 提交于 2019-12-01 00:07:35
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

2--Master主备切换机制原理剖析与源码分析

一曲冷凌霜 提交于 2019-11-30 23:49:34
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

2--Master主备切换机制原理剖析与源码分析

可紊 提交于 2019-11-30 23:31:55
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

2--Master主备切换机制原理剖析与源码分析

橙三吉。 提交于 2019-11-30 23:15:28
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

2--Master主备切换机制原理剖析与源码分析

与世无争的帅哥 提交于 2019-11-30 22:57:30
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

2--Master主备切换机制原理剖析与源码分析

心已入冬 提交于 2019-11-30 22:41:42
原理剖析 Master实际上可以配置两个(防止单点故障),那么Spark原生的standalone模式是支持Master主备切换的。也就是说,当Active Master节点挂掉时,可以将StandBy master节点切换为Active Master。 Spark Master主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的主备切换机制,需要在Active Master挂掉之后,由我们手动切换到StandBy Master上;而基于Zookeeper的主备切换机制,可以自动实现切换Master。 所以这里说的主备切换机制,实际上指的是在Active Master挂掉之后,切换到StandBy Master时,Master会执行的操作。 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps、storeDrivers、storeWorkers,持久化引擎有FileSystemPersistenceEngine和ZookeeperPersistenceEngine 2. 判读如果storedApps、storedDrivers、store的Workers有任何一个非空就继续向后执行. 3. 持久化引擎的Application、Driver

rabbitmq 工作队列(java 实现)

柔情痞子 提交于 2019-11-30 22:01:12
rabbitmq HelloWorld 做了一个简单的发送和接收消息(http://blog.csdn.net/convict_eva/article/details/52291774)。 工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)当作消息发送到队列中,一个运行在后台的工作者(worker)进程就会取出任务然后处理。当你运行多个工作者(workers),任务就会在它们之间共享。 这个概念在网络应用中是非常有用的,它可以在短暂的HTTP请求中处理一些复杂的任务。 准备: 使用Thread.sleep()模拟耗时操作,发送消息中有一个 . 接收消息就sleep() 1秒。 工程搭建: RabbitmqConfigure 配置: public class RabbitmqConfigure { //队列名称 public final static String QUEUE_NAME = "task_queue"; //是否是持久化的queue public final static boolean DURABLE=true; //受当前连接限制的queue,true:当与消费者(consumer)断开连接的时候,这个队列应当被立即删除。 public final static boolean EXCLUSIVE

RabbitMQ实战

最后都变了- 提交于 2019-11-30 21:19:13
第2章 理解消息通信 2.2 此底部开始构造:队列 信道(channel)是建立在TCP连接上的虚拟连接。因为如果每个生产者/消费者都使用真实的TCP连接的话,每一个线程连接到RabbitMQ,都会建立一个TCP连接,不仅会造成TCP连接的巨大浪费(创建和销毁TCP回话开销很大),而且操作系统每秒也就只能建立这点数量的连接,很快就会碰到性能瓶颈。 如图,一条电缆(TCP连接)有许多光纤束(信道),运行所有连接的线程通过多条光纤束同时进行传输和接收。 当一个RabbitMQ队列有多个消费者时,队列收到的消息将以循环的方式发送给消费者,每个消息只发送给一个订阅的消费者。 消费者接收到的每一条消息都必须进行确认 或者在订阅到队列的时候讲auto_ack参数设置为true 当设置了auto_ack时,一旦消费者接收消息,RabbitMQ会自动视其确认了消息。消费者通过确认命令告诉RabbitMQ它已经正确接收了消息,此时RabbitMQ才能安全地把消息从队列中删除。 如果消费者收到一条消息,但是确认之前从Rabbit断开连接(或者从队列上取消了订阅),RabbitMQ会认为这条消息没有分发, 然后重新分发给下一个订阅的消费者 。另一方面,如果消费者没有确认消息, Rabbit讲不会给该消费者发送更多消息 ,这是因为在上一条消息被确认之前,Rabbit会认为这个消费者没有准备好接收下一条消息

redis持久化之AOF持久化

梦想与她 提交于 2019-11-30 21:13:51
AOF与RDB持久化通过保存数据库中的键值对来记录数据库状态不同,aof持久化是通过保存redis服务器所执行的写命令来记录数据库状态的。被写入AOF文件的所有命令都是以Redis的命令请求协议格式保存的。 1.AOF持久化的实现 AOF持久化的实现可以分为命令追加(append),文件写入,文件同步(sync)三个步骤。 1.1 命令追加 当AOF持久化功能处于打开状态,服务器在执行完一个写命令之后,会以协议格式将被执行的写命令追加到服务器状态的aof_buf缓冲区末尾: struct redisServer{ //... //AOF缓冲区 sds aof_buf //... }; 例如 redis>SET KEY VALUE 那么服务器在执行这个set命令之后,会将以下协议内容追加到aof_buf缓冲区的末尾: *3\r\n$3\r\nSET\r\n$3\r\nKEY\r\n$5\r\nVALUE\r\n 1.2 AOF文件的写入与同步 redis服务器进程就是一个事件循环(loop),这个循环中的文件事件负责接收客户端的命令请求,以及向客户端发送命令回复,而时间事件则负责执行像serverCron函数这样需要定时运行的函数。 因为服务器在处理文件事件时可能会执行写命令,使得一些内容被追加到aof_buf缓冲区里面,所以在服务器每次结束一个事件循环之前