scribe 是可靠的、容错的
scribe 设计的时候,考虑了网络故障、机器故障的问题,而没有考虑事务的支持。如果一个scribe的客户端实例,在发送信息给主机的时候出现了问题,那么它会将该部分信息暂时存到本地磁盘。当该问题解决之后,它会重新该部分信息发送给主机。为了避免在主机启动的时候给主机造成过重的负载,resender会等待一段时候后再去连接,目前这段时间是随机的。当主机的处理能力快被用完的时候,它会返回TRY_LATER, resender 在接到这个返回之后的几分钟之内将不会发出请求。当主机将信息发往nfs系统或者其他的分布式文件系统的时候,也有跟resender类似的机制。当nfs系统或者其他的分布式文件系统宕掉的 时候,主机会把信息写到本地磁盘,知道文件系统恢复正常,然后再把本地磁盘的数据发送远程的文件系统里。信息显然是有顺序的,在上述的过程中,信息的顺序将保持不变。
以下的这些错误,将会导致数据的丢失:
-
当一个client(不是resender)到scribe服务器的连接故障的时候,数据会丢失。
-
当一个scribe服务器宕机的时候,还在内存中的数据会丢失。
-
一些系统宕机通病,比如resender不能连接到任何主机的时候,它本地磁盘有可能会爆满。
-
一些很少见的超时的情况,可能会导致部分数据出现重复。
运行 Scribe
使用 scribe 客户端
scribe的配置很简单
scribe 服务器通过参数-c 指定某个具体的配置文件来启动,当没有-c参数的时候,将使用默认的配置文件路径/usr/local/scribe/scribe.conf. 配置文件最重要的作用就是决定数据应该被发送到哪个“store”。一些“store”能包含其他的“store”,举个例子说,"bucket store"能够包含多个“file store”,并通过某种hash算法将数据分发给他们。
配置文件包括一个全局配置以及每一个“store”相关的配置。全局配置,包括监听的端口,服务每秒处理的数据的最大数。每个“store”的配置文件都包含一个“category”和一个“type”。一个“store”可以有多个“category”,可以有多个“type”。配置文件的其他部分的内容取决于“store type”,可以会包含这样的一些东西,如,日志文件路径、文件大小最大值,启用新日志文件的频率策略,以及主机(resender 要发送数据过去的地址)地址。一个“store”也可以包含其他的“store”,“store”用它的“type”命名。
目前可用的“store”有:
-
file
– 写到一个文件,写到本地或者nfs系统
-
network
– sends messages to another scribe server.
-
network
– 将数据发送到其他的scribe服务器
-
buffer
– 包括一个 主“store”和一个备份“store”。当主机正常时,就发到主机上,否则就发到从机上。当主机恢复正常的时候,数据会从备份机上同步到主机上。数据的顺序还是会被保留的。作为备份“store”,有一个限制条件,即是,备份“store”必须是file 类型的store,因为它必须可读的。
-
bucket
–包含了一堆其他的类型的store,数据会根据某种hash算法,被发送各个store上。
-
null
– 丢弃所有的信息。
-
thriftfile
– 跟file store比较像,只是将数据写到 Thrift TFileTransport file 中。
-
multi
– 这个store能将数据发送其他的多台 store上。
分享到:
相关推荐
### 一、scribe概述 scribe最初由Facebook开源,作为一个高效的日志管理工具,它支持多种协议,包括TCP、UDP和HTTP。scribe的核心功能是将多个来源的日志流汇聚到一个中心节点,从而简化日志管理和分析。 ### 二、...
zip kin php scribe概述支持zipkin version 1.1.0,zipkin下载地址:或者这里的zipkin php scribe主要功能是在php页面中埋点,然后收集发送给collector;这里的分两个功能模块,一个是埋点的,然后发送给MQ(system V ...
1. **OAuth流程概述** OAuth流程通常分为四个步骤: - 请求临时凭证(Request Token):应用向服务提供商发送请求,获取一个临时的请求令牌和请求令牌的秘密。 - 用户授权(Authorization):应用引导用户到服务...
#### 一、概述 Scribe是一款由Facebook开源的分布式日志收集系统,主要用于集中式地收集并处理各种来源的日志数据。它基于跨平台的语言Thrift进行开发,能够很好地支持Java Log4j等日志框架,并允许通过Log4j等工具...
《大数据技术与应用基础》第一章主要探讨了大数据的概述,包括大数据的概念、发展、特性、产生及数据类型、计算模式和系统以及大数据的关键技术与应用。以下是对这些内容的详细阐述: 1. **大数据的发展**:大数据...
#### 一、背景介绍与日志系统概述 在当今数字化时代,随着企业业务的不断增长,各类应用系统在日常运营过程中产生了大量的日志数据。这些数据通常包含了丰富的业务信息和技术指标,对于监控系统运行状况、优化业务...
【大数据技术概述】 大数据技术是针对海量数据进行高效处理、分析和挖掘的技术,旨在从大量不同类型的数据中提取出有价值的信息。大数据处理的生命周期通常包括四个主要阶段:大数据采集与预处理、大数据存储与管理...
### 一、NT39116芯片概述 #### 1.1 芯片简介 - **名称**:NT39116是一款专为262K色彩的240RGB×320点TFT LCD设计的一体式驱动IC。 - **特性**:该芯片内部集成了GRAM,能够有效地支持高分辨率显示需求。 - **应用...
Amp 的内部结构(数据结构、语法突出显示、工作区管理等)已构建为单独的板条箱:scribe 。如需完整概述以及文档和安装说明,请访问amp.rs 。安装货物如果您安装了 Rust >= 1.38.0:cargo install amp家酿您可以使用...
#### 概述 Facebook大量相似高速数据实时日志收集系统(Data Freeway)是Facebook为了处理海量数据而设计的一个高效、可靠的日志收集与处理系统。该系统能够支持每秒数十GB的数据吞吐量,并保证在15秒内的延迟时间...
Scribe / Nginx服务模块是提供服务器状态信息的Nginx模块。 文献资料 有关格式精美的文档,包括编译和安装指南,模块配置指令以及其他信息,有关基于Ruby的RSpec测试体系结构的信息,我们完整的许可信息以及大量...
- **OSG渲染过程**:概述OSG内部的渲染机制,包括场景图的构建、节点管理等。 - **MFC+OSG控制**:讲解如何在MFC环境中控制OSG的渲染行为,如窗口管理、输入事件处理等。 - **矩阵操作**: - 数学原理讲解:理解...
首先,计算机网络安全概述部分提到,随着信息化的高速发展,计算机网络在方便人们生活的同时,也带来了网络安全上的考验。网络攻击、病毒传播、信息泄露等问题频发,对个人、企业乃至社会的安全造成威胁。因此,提升...
10. **切割裂片 (Scribe & Break)**: 按照预定尺寸切割成单独的单元。 11. **液晶注入 (LC Injection)**: 注入液晶材料。 12. **封口 (End Sealing)**: 密封注入口防止液晶泄漏。 13. **再配向 (Isotropic)**: 确保...
#### 十八、Scribe:日志收集系统 - **概述**:由 Facebook 开发的日志收集工具。 - **特点**: - 高吞吐量。 - 支持多种数据源。 - 易于扩展。 - **用途**:集中式日志收集。 #### 十九、Flume:日志收集框架 -...
### 大数据采集与清洗知识点概述 #### 一、大数据概览 - **定义**: 大数据(Big Data)指的是无法使用传统的软件和技术在合理的时间内处理的数据集合。 - **重要性**: 随着互联网的发展,大数据已经成为国家战略层面...
这篇名为“大数据分析工具开发平台汇总共3页.pdf”的文档,很可能提供了关于市场上主流的大数据分析工具和开发平台的全面概述。虽然具体的文件内容无法在此直接展开,但我们可以基于这个标题和描述来探讨一些重要的...