`
gaojingsong
  • 浏览: 1182061 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Apache Chukwa 介绍

阅读更多

一、 chukwa 介绍

chukwa 是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在 hadoop 的 hdfs 和 map/reduce 框架之上的,继承了 hadoop 的可伸缩性和鲁棒性。Chukwa 还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。 在一些网站上,甚至声称 chukwa 是一个“日志处理/分析的full stack solution”。

 

Apache Chukwa is a Apache Hadoop subproject devoted to bridging that gap between logs processing and Hadoop ecosystem. Apache Chukwa is a scalable distributed monitoring and analysis system, particularly logs from Apache Hadoop and other distributed systems.

 

chukwa 不是什么

1. chukwa 不是一个单机系统. 在单个节点部署一个 chukwa 系统,基本没有什么用处. chukwa 是一个构建在 hadoop 基础上的分布式日志处理系统.换言之,在搭建 chukwa 环境之前,你需要先构建一个 hadoop 环境,然后在 hadoop 的基础上构建 chukwa 环境,这个关系也可以从稍后的 chukwa 架构图上看出来.这也是因为 chukwa 的假设是要处理的数据量是在 T 级别的. 

2. chukwa 不是一个实时错误监控系统.在解决这个问题方面, ganglia,nagios 等等系统已经做得很好了,这些系统对数据的敏感性都可以达到秒级. chukwa 分析的是数据是分钟级别的,它认为像集群的整体 cpu 使用率这样的数据,延迟几分钟拿到,不是什么问题. 

3. chukwa 不是一个封闭的系统.虽然 chukwa 自带了许多针对 hadoop 集群的分析项,但是这并不是说它只能监控和分析 hadoop.chukwa 提供了一个对大数据量日志类数据采集、存储、分析和展示的全套解决方案和框架,在这类数据生命周期的各个阶段, chukwa 都提供了近乎完美的解决方案,这一点也可以从它的架构中看出来.



 

 

具体而言, chukwa 致力于以下几个方面的工作: 

1. 总体而言, chukwa 可以用于监控大规模(2000+ 以上节点, 每天产生数据量在T级别) hadoop 集群的整体运行情况并对它们的日志进行分析 

2. 对于集群的用户而言: chukwa 展示他们的作业已经运行了多久,占用了多少资源,还有多少资源可用,一个作业是为什么失败了,一个读写操作在哪个节点出了问题. 

3. 对于集群的运维工程师而言: chukwa 展示了集群中的硬件错误,集群的性能变化,集群的资源瓶颈在哪里. 

4. 对于集群的管理者而言: chukwa 展示了集群的资源消耗情况,集群的整体作业执行情况,可以用以辅助预算和集群资源协调. 

5. 对于集群的开发者而言: chukwa 展示了集群中主要的性能瓶颈,经常出现的错误,从而可以着力重点解决重要问题.

 

二、chukwa 原理



 Agents and Adaptors

Apache Chukwa agents do not collect some particular fixed set of data. Rather, they support dynamically starting and stopping Adaptors, which small dynamically-controllable modules that run inside the Agent process and are responsible for the actual collection of data.

These dynamically controllable data sources are called adaptors, since they generally are wrapping some other data source, such as a file or a Unix command-line tool. Apache Chukwa agent guide includes an up-to-date list of available Adaptors.

Data sources need to be dynamically controllable because the particular data being collected from a machine changes over time, and varies from machine to machine. For example, as Hadoop tasks start and stop, different log files must be monitored. We might want to increase our collection rate if we detect anomalies. And of course, it makes no sense to collect Hadoop metrics on an NFS server.

 

ETL Processes

Apache Chukwa Agents can write data directly to HBase or sequence files. This is convenient for rapidly getting data committed to stable storage.

HBase provides index by primary key, and manage data compaction. It is better for continous monitoring of data stream, and periodically produce reports.

HDFS provides better throughput for working with large volume of data. It is more suitable for one time research analysis job . But it's less convenient for finding particular data items. As a result, Apache Chukwa has a toolbox of MapReduce jobs for organizing and processing incoming data.

These jobs come in two kinds: Archiving and Demux. The archiving jobs simply take Chunks from their input, and output new sequence files of Chunks, ordered and grouped. They do no parsing or modification of the contents. (There are several different archiving jobs, that differ in precisely how they group the data.)

Demux, in contrast, take Chunks as input and parse them to produce ChukwaRecords, which are sets of key-value pairs. Demux can run as a MapReduce job or as part of HBaseWriter.

For details on controlling this part of the pipeline, see the Pipeline guide. For details about the file formats, and how to use the collected data, see the Programming guide.

 

Data Analytics Scripts

Data stored in HBase are aggregated by data analytic scripts to provide visualization and interpretation of health of Hadoop cluster. Data analytics scripts are written in PigLatin, the high level language provides easy to understand programming examples for data analyst to create additional scripts to visualize data on HICC.

 

HICC

HICC, the Hadoop Infrastructure Care Center is a web-portal style interface for displaying data. Data is fetched from HBase, which in turn is populated by collector or data analytic scripts that runs on the collected data, after Demux. The Administration guide has details on setting up HICC.

 

Apache HBase Integration

Apache Chukwa has adopted to use HBase to ensure data arrival in milli-seconds and also make data available to down steam application at the same time. This will enable monitoring application to have near realtime view as soon as data are arriving in the system. The file rolling, archiving are replaced by HBase Region Server minor and major compactions.

  • 大小: 105.1 KB
  • 大小: 29.8 KB
0
0
分享到:
评论

相关推荐

    Apache Hadoop---Chukwa.docx

    而Apache Chukwa作为Hadoop的扩展,专为监控大型分布式系统而设计,特别是在Hadoop集群环境中,它扮演着至关重要的角色。 Chukwa的核心功能在于数据收集、存储和分析,以确保对大规模Hadoop集群的健康状况有深入的...

    chukwa安装

    - 获取Chukwa源码:可以从Apache官网或者GitHub上获取Chukwa的源码。 - 构建Chukwa:运行`mvn clean package`命令,这会生成Chukwa的JAR包。 - 配置Chukwa:修改`conf/chukwa.conf`文件,配置你的Hadoop集群信息...

    chukwa-src-0.8.0.tar

    Chukwa是Apache软件基金会的一个开源项目,它是一个大规模分布式日志收集、聚合和传输系统,主要用于监控大型分布式系统的数据流。"chukwa-src-0.8.0.tar"是一个包含了Chukwa源代码的压缩文件,供开发者研究和定制。...

    Hadoop状态分析系统Chukwa.pdf

    Apache Chukwa 是一个专为监控大规模分布式系统而设计的开源数据收集系统,尤其是针对Hadoop环境。Hadoop本身是一个广泛应用于大数据处理的分布式存储和计算框架,而Chukwa则是在Hadoop之上构建的,旨在解决大规模...

    chukwa-incubating-src-0.5.0.tar.gz

    Chukwa,作为一个Apache孵化器项目,是针对大规模分布式系统的数据收集、管理和分析工具。它最初由雅虎研究院开发,设计目标是处理PB级别的日志数据,为系统监控、故障排查以及性能优化提供了强大的支持。Chukwa ...

    Hadoop状态分析系统Chukwa.docx

    Apache Chukwa是一款开源的数据收集系统,专门设计用于监控大规模分布式系统的状态,尤其与Hadoop生态系统紧密集成。作为Hadoop的扩展,Chukwa利用Hadoop的分布式文件系统(HDFS)和MapReduce框架,确保了高可扩展性...

    开源日志系统比较:scribe、chukwa、kafka、flume.pdf

    本文主要对比了四个知名的开源日志系统:Facebook的Scribe、Apache的Chukwa、LinkedIn的Kafka以及Cloudera的Flume。这四个系统各自拥有独特的设计和优势,适用于不同的场景。 1. Facebook的Scribe Scribe是一款由...

    开源日志系统比较:scribe、chukwa、kafka、flume.docx

    本篇将对比分析四个流行的开源日志系统:Facebook的Scribe、Apache的Chukwa、LinkedIn的Kafka以及Cloudera的Flume,主要关注它们的设计架构、负载均衡能力、可扩展性和容错机制。 **1. Facebook的Scribe** Scribe...

    apache项目对照表2014-61

    以下是对其中部分项目的详细介绍: 1. **Abdera**: Apache Abdera是开源的Atom协议实现,支持Atom Syndication和Atom Publication协议,用于创建和解析Atom feeds。 2. **Accumulo**: Apache Accumulo是一个基于...

    hardoop学习

    11. Apache Chukwa:是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。 12. Apache Hama:是一个...

    大数据处理常用技术有哪些.pdf

    14. **Apache Chukwa**:Chukwa 是一个数据收集系统,用于监控分布式系统,收集的数据可以进一步用 Hadoop 进行分析。 15. **Apache Hama**:Hama 专注于大规模的并行计算,特别是图、矩阵和网络算法,基于 BSP ...

    Apache Hadoop

    3. **Chukwa**:这是一个用于管理和监控大型分布式系统的数据收集系统,可以帮助管理员了解系统性能。 4. **HBase**:这是一个基于 HDFS 的可扩展、分布式数据库,特别适合存储大规模表格数据。 5. **Hive**:这是一...

    大数据处理常用技术有哪些.docx

    14. **Apache Chukwa**:Chukwa 用于监控大型分布式系统的数据收集,将数据转化为适合 Hadoop 处理的格式。 15. **Apache Hama**:Hama 基于 BSP(Bulk Synchronous Parallel)模型,用于处理大规模的数学问题,如...

    【推荐】开源日志系统-word范文模板 (17页).pdf

    本文将重点介绍几种流行的开源日志系统,包括Facebook的Scribe、Apache的Chukwa以及LinkedIn的Kafka和Cloudera的Flume,探讨它们的设计理念、架构特性以及在海量日志处理方面的优势。 1. Facebook的Scribe Scribe...

    【推荐】开源日志系统-word范文模板 (17页).docx

    本文主要探讨了几个流行的开源日志系统,包括Facebook的Scribe、Apache的Chukwa以及LinkedIn的Kafka,这些都是处理海量日志数据的有效工具。 1. Facebook的Scribe Scribe是一款由Facebook开发的日志收集系统,广泛...

    开源日志系统比较.docx

    本文将深入探讨四个知名的开源日志系统:Facebook的Scribe、Apache的Chukwa、LinkedIn的Kafka以及Cloudera的Flume。这四个系统各自具备独特的特性和优势,适用于不同的应用场景。 1. Facebook的Scribe Scribe是...

    日志分析系统调研分析ELKEFK.docx

    Facebook的Scribe以其出色的容错性和灵活性受到广泛认可,而Apache Chukwa则凭借与Hadoop生态系统的深度融合,在处理大规模数据集方面表现出色。无论选择哪种方案,构建一个稳定可靠、易于扩展的日志分析系统都是...

    Flume日志收集工具.pptx

    尽管 Flume 在日志收集领域有显著优势,但并非唯一选择,例如 Facebook 的 Scribe、Apache Chukwa 和淘宝的 Time Tunnel 都是类似的功能强大的工具。 总结来说,Apache Flume 是一个强大的日志收集解决方案,具有...

Global site tag (gtag.js) - Google Analytics