首页 > 试题广场 >

请简单描述下你对hadoop的技术生态圈的了解。

[问答题]
请简单描述下你对hadoop的技术生态圈的了解。

HDFS:分布式海量数据存储功能

Yarn:提供资源调度与任务管理功能

资源调度:根据申请的计算任务,合理分配集群中的计算节点(计算机)

任务管理:任务在执行过程中,负责过程监控、状态反馈、任务再调度等工作。

MapReduce:分布式并行编程模型和计算框架。解决分布式编程门槛高的问题,基于其框架对分布式计算的抽象 map reduce,可以轻松实现分布式计算程序。

Hive:提供数据摘要和查询的数据仓库。解决数据仓库构建问题,基于 Hadoop 平台的存储与计算,与传统 SQL 相结合,让熟悉 SQL 的编程人员轻松向 Hadoop 平台迁移。

Streaming:解决非 Java 开发人员使用 Hadoop 平台的语言问题,使各种语言如 C++python shell 等均可以无障碍使用 Hadoop 平台。

HBase:基于列式存储模型的分布式数据库。解决某些场景下,需要 Hadoop 平台数据及时响应的问题。

Zookeeper:分布式协同服务。主要解决分布式下数据管理问题:统一命名、状态同步、集群管理、配置同步等。

其他的一些开源组件:

1, spark是个开源的数据分析集群计算框架,建立于HDFS之上。sparkhadoop一样,用于构建大规模,延迟低的数据分析应用。spark采用Scala语言实现,使用Scala作为应用框架。spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。

hadoop不同的是,sparkScala紧密集成,Scala象管理本地collective对象那样管理分布式数据集。spark支持分布式数据集上的迭代式任务,实际上可以在hadoop文件系统上与hadoop一起运行(通过YARN,MESOS等实现)。

2, kafka是一个开源流处理平台,由ScalaJava编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息

3, Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API


发表于 2019-08-26 16:28:06 回复(0)