可集群下已安装服务的运行指标,服务承载的主机。展示组件的主从服务状态和配置信息,并提供集群级服务参数统一修改和服务的启动、停止和重启操作。能适配低分辨率。 1、 HDFSHDFS是Hadoop的分布式文件系统,实现大规模数据可靠的分布式读写。HDFS针对的使用场景是数据读写具有“一次写,多次读”的特征,而数据“写”操作是顺序写,也就是在文件创建时的写入或者在现有文件之后的添加操作。HDFS保证一个文件在一个时刻只被一个调用者执行写操作,而可以被多个调用者执行读操作。 提供运行HDFS概览、热力图、配置能力,可对组件进行开始、停止、重启全部、重启DataNodes、重启JournalNodes、重启ZKFailoverControllers、移动NameNode、服务检查、开启维护模式、平衡HDFS、下载客户端配置、删除服务等操作。 2、 YARN 支持YARN运行概览、热力图、组件配置能力,可对组件进行开始、停止、刷新YARN、重启全部、重启NodeManagers、移动App Timeline Server、移动ResourceManager、激活ResourceManager HA、服务检查、开启维护模式、下载客户端配置、删除服务等操作。 3、 MapReduce2 MapReduce2是Hadoop的核心组件之一,可以通过MapReduce快速实现在Hadoop平台上进行分布式的计算编程。它主要用于大规模数据集(大于1TB)的并行计算。概念“Map”和“Reduce”,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。 4、 Hive Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL去查询分析需要的内容,这套SQL简称Hive SQL。 5、HBase 分布式数据库HBase是一个面向列(Column-Oriented)、适合存储海量非结构化数据或半结构化数据的、具备高可靠性、高性能、可灵活扩展伸缩的、支持实时数据读写的分布式存储系统。 HBase的特点: 容量大:HBase单表可以达到百亿行、百万列,数据矩阵横向和纵向量级维度所支持的数据量级都非常具有弹性。 面向列:HBase是面向列的存储和权限控制,并支持独立检索。列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量。 多版本:HBase每列的数据存储有多个版本Version。 稀疏性:值为空的列并不占用存储空间,表可以设计的非常稀疏。 扩展性:底层依赖于HDFS,增加节点。 高可靠性:WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失:Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。 高性能:底层LSM数据结构和Rowkey有序排列等架构上的独特设计,使得HBase具有非常高的写入性能。Region切分、主键索引和缓存机制使得HBase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能达到毫秒级别。 6、Oozie Oozie是一个基于工作流引擎的框架,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。 所谓工作流,即是指数据Import进HDFS,然后用Hive分析,然后将分析结果集Export,把不同的结果集合并成最终结果,将不同的业务进行编排。Oozie的工作流任务是DAG(有向无环图)。 所谓调度,即是指对作业或任务的定时执行,或者是事件的触发执行。触发执行的时机:在指定时间触发执行,或者当某目录下有数据集时触发执行。 Oozie集成了Hadoop的很多框架,如Java MapReduce、Streaming MapReduce、Pig、Hive、Sqoop、Distcp。一个Oozie Job也是一个MapReduce程序,仅仅只有Map任务的程序,是分布式可扩展的。针对不同类型的任务编写的Workflow,可以写成模板来直接套用。 7、Zookeeper 提供Zookeeper运行概览和组件配置功能,可对组件进行开始、停止、重启全部、服务检查、开启维护模式、添加Zookeeper Server、下载客户端配置、删除服务等操作。 8、Storm Storm是分布式实时大数据处理框架。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统(高频交易、股票)等等,大数据实时处理解决方案(流计算)的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。 9、Flume Flume是一个分布式,可靠且可用的系统,用于有效地从许多不同的源收集、聚合和移动大量日志数据到一个集中式的数据存储区。 Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 Agent由Source、Channel、Sink三个模块组成,其中Source负责接收数据,Channel负责数据的传输,Sink则负责数据向下一端的发送。 (1)Source,消费由外部源(如Web服务器)传递给它的事件。外部源以一定的格式发送数据给 Flume,这个格式的定义由目标Flume Source 来确定。例如,一个 Avro Flume source 可以从 Avro(Avro是一个基于二进制数据传输的高性能中间件,是 hadoop 的一个子项目) 客户端接收 Avro 事件,也可以从其他 Flume agents(该Flume agents 有 Avro sink)接收 Avro 事件。 同样,我们可以定义一个 Thrift Flume Source 接收来自 Thrift Sink、Flume Thrift RPC 客户端或者其他任意客户端(该客户端可以使用任何语言编写,只要满足 Flume thrift 协议)的事件。 (2)Channel,可以理解为缓存区,用来保存从Source那拿到的数据,直到 Flume slink 将数据消费。file chanel 是一个例子,它将数据保存在文件系统中(当然你可以将数据放在内存中)。 (3)Sink,从channel消费完数据就会将数据从channel中清除,随后将数据放到外部存储系统例如 HDFS(使用 Flume HDFS sink)或发送到其他Flume agent的source中。不管是Source还是Sink 都是异步发送和消费数据。 10、Kafka Kafka 是一个消息系统。现在它已被多家公司作为多种类型的数据管道和消息系统使用。活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(Page View)、被内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的形式写入某种文件,然后周期性地对这些文件进行统计分析。运营数据指的是服务器的性能数据(CPU、IO 使用率、请求时间、服务日志等等数据),总的来说,运营数据的统计方法种类繁多。 Kafka 是一个基于分布式的消息发布-订阅系统,它被设计成快速、可扩展的、持久的。与其他消息发布-订阅系统类似,Kafka 在主题当中保存消息的信息。生产者向主题写入数据,消费者从主题读取数据。由于 Kafka 的特性是支持分布式,同时也是基于分布式的,所以主题也是可以在多个节点上被分区和覆盖的。 消息是一个字节数组,程序员可以在这些字节数组中存储任何对象,支持的数据格式包括 String、JSON、Avro。Kafka 通过给每一个消息绑定一个键值的方式来保证生产者可以把所有的消息发送到指定位置。属于某一个消费者群组的消费者订阅了一个主题,通过该订阅消费者可以跨节点地接收所有与该主题相关的消息,每一个消息只会发送给群组中的一个消费者,所有拥有相同键值的消息都会被确保发给这一个消费者。 Kafka 设计中将每一个主题分区当作一个具有顺序排列的日志。同处于一个分区中的消息都被设置了一个唯一的偏移量。Kafka 只会保持跟踪未读消息,一旦消息被置为已读状态,Kafka 就不会再去管理它了。Kafka 的生产者负责在消息队列中对生产出来的消息保证一定时间的占有,消费者负责追踪每一个主题 (可以理解为一个日志通道) 的消息并及时获取它们。基于这样的设计,Kafka 可以在消息队列中保存大量的开销很小的数据,并且支持大量的消费者订阅。 11、Spark Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark提供了一个快速的计算,写入,以及交互式查询的框架。相比于Hadoop,Spark拥有明显的性能优势。 Spark主要有以下3个特点: (1)高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。 (2)Spark 速度很快,支持交互式计算和复杂算法。 (3)Spark 是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。 Spark能够支持交互式的数据挖掘,由于Spark是基于内存的计算,很方便处理迭代计算,而数据挖掘的问题通常都是对同一份数据进行迭代计算。除此之外,Spark能够运行于安装Hadoop 2.0 Yarn的集群。之所以Spark能够在保留MapReduce容错性,数据本地化,可扩展性等特性的同时,能够保证性能的高效,并且避免繁忙的磁盘IO,主要原因是因为Spark创建了一种叫做RDD(Resilient Distributed Dataset)的内存抽象结构。 原有的分布式内存抽象,例如key-value store以及数据库,支持对于可变状态的细粒度更新,这一点要求集群需要对数据或者日志的更新进行备份来保障容错性。这样就会给数据密集型的工作流带来大量的IO开销。而对于RDD来说,它只有一套受限制的接口,仅仅支持粗粒度的更新,例如map,join等等。通过这种方式,Spark只需要简单的记录建立数据的转换操作的日志,而不是完整的数据集,就能够提供容错性。并且,Spark同时提供了操作允许用户显示的将数据转换过程持久化到硬盘。对于数据本地化,是通过允许用户能够基于每条记录的键值,控制数据分区实现的。(采用这种方式的一个明显好处是,能够保证两份需要进行关联的数据将会被同样的方式进行哈希)。如果内存的使用超过了物理限制,Spark将会把这些比较大的分区写入到硬盘,由此来保证可扩展性。 提供Spark运行概览和组件配置功能,可对组件进行开始、停止、重启全部、服务检查、开启维护模式、下载客户端配置、删除服务等操作。 12、Flink Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的流处理引擎。 Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。提供Flink运行概览和组件配置功能,可对组件进行开始、停止、重启全部、开启维护模式、删除服务等操作。 13、ElasticSearch ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ElasticSearch的水平伸缩性,能使数据在生产环境变得更有价值。添加ElasticSearch后,可以接入ElasticSearch集群开始使用ElasticSearch引擎,如定义索引数据、加载数据或搜索数据等。ElasticSearch集群可以包含多个索引(indices)(数据库),一个索引包含一个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)。 提供ElasticSearch运行概览和组件配置功能,可对组件进行开始、停止、重启全部、重启ElasticSearch Slave、服务检查、开启维护模式、删除服务等操作。 |