首页 > 编程知识 正文

hadoop大数据开发基础 答案,浅谈大数据hadoop技术

时间:2023-05-06 21:23:02 阅读:170096 作者:262

1、Hadoop三大发行版:1.Apache:版本最原始(最基础)的版本最好用于入门学习。

2.Cloudera:被大型互联网企业广泛使用。

3.Hortonworks:文档很好。

Apache为什么入门学习最好? 因为什么都让自己做。

Cloudera和Hortonworks:都是一键式集群,太简单了不适合学习。 而且,他们俩需要的不是钱,而是资源! 当你学习的时候,你会发现16G的电脑足够让三台虚拟机运行框架,不能执行任何任务。 因为没有内存。 执行会报黄。 因为程序会跑。 (寺外埔? 交换缓存]上。

现在又有人是蚂蚁干的。 花钱买框架。 而且可以动态扩展。 一言以蔽之,有钱就好!

2、Hadoop优势:1.高可靠性:Hadoop的基础部分维护多个数据副本,即使Hadoop的某个计算元件或存储出现故障,也不会导致数据丢失。

通过在2.高扩展性:群集之间分配任务数据,可以轻松地扩展数千个节点。

在33558www.Sina.com/mapreducer的思想下,Hadoop为了提高任务的处理速度而并行工作。

3.高效性:可以自动重新分配失败的任务。

3、Hadoop组成:1.MapReducer )计算

2.Yarm (资源调度) )。

3 .数据存储)。

4.Common (辅助工具)。

4、HDFS框架的概要(数据存储)4.高容错性:存储的是数据的索引元数据是描述数据的数据,索引也是元数据,是用于描述数据的数据

1.NameNode(nn):保存的是数据本身(主体)

因为Hadoop有多拷贝数据的机制,所以DataNode不仅有一部,还有多部位于不同的机器上。 所以丢失了也能拿回来。 例如,如果有10万个硬盘,即使丢了一个硬盘,一部分数据也会丢失。 而且Hadoop有数据多拷贝机制,可以拿回来。 但是,NameNode只有一个。 所以NameNode更重要。

2.DataNode(dn):NameNode的助理,助理

Secondary NameNode不是NameNode的替代品。 如果NameNode过期,则Secondary NameNode也不能改为使用。 例如,要做手术,NameNode是个孤独的发箍,但Secondary NameNode会给你剪刀。 如果孤独的发箍倒下了,可以交给你剪刀,但是不行。 这意味着,如果NameNode挂起,Secondary NameNode可以恢复一些,但这种恢复是有缺陷的。

5、体系结构概述(资源调度)3.Secondary NameNode(2nn):

日程是内存和CPU,是你的计算能力资源。

看windows就有任务管理器,里面有各种各样的东西,有CPU的占用。 CPU也有容量,内存也有容量。 YARN安排的是这些东西(CPU占用和内存资源)。 例如,接下来出去工作的话会有上司。 上司没有分配你的具体工作内容,但会分配每个人的工作时间、时间。 虽然不能具体管理内容,但是要安排时间。

1.调度的是什么资源?简直就像组长一样。 管理整个群集的资源调度。

ResourceManager(RM):项目组里的命根子是你。 首先到公司需要先看组长做什么工作,安排好自己的工作。 集群中的Manager管理节点上的资源。 被资源管理器安排,听领导的话。

Node Manager(NM):

ApplicationMaster(AM):是什么?

假设项目来了。 是个小项目。 不值得ApplicationMaster(AM):(队长)亲自动手。 在那里,找一个冒着生命危险的缘分) 3358www.Sina.com/)做临时负责人。

ResourceManager每次收到资源请求时,您要执行什么任务? 在将该请求传送到ApplicationMaster之后,client为了寻找某个玩命边缘(ResourceManager)而启动(App Mstr )来执行此任务因为这个appmstttr是

ResourceManager 必须先启动一个ApplicationMaster
那为什么我们的Node Manager还要处理来自ApplicationMaster的命令呢?
因为组长分配一个任务给玩命的缘分1号,这玩命的缘分1号肯定需要先看这个任务是什么,一看任务,发现自己干不了。需要和组长说:这活我一个人干不了,你需要个我派俩帮手。那组长就需要派,于是组长说人2号、3号跟着1号干。那么此时1号就是这个项目的临时负责人了,2号、3号需要听1号的。所以Node Manager还要处理来自ApplicationMaster的命令。
ApplicationMaster是常驻进程吗?
不是。因为就像工作来了才有它,工作结束了,需要找组长汇报工作,卸任临时组长。它只是一个临时工作负责人,有一个client 资源请求就有一个ApplicationMaster,一个client 资源请求就有一个ApplicationMaster

Container: 就是运行我们所有东西的容器。容器容的就是我们这些ApplicationMaster。

为什么要运行在容器里面呢?
因为容器可以规定我用多少内存、多少CPU等。我们的NodeManager就是通过不停的打开和关闭容器来调配自己的资源的。
比如:我现在当前节点有7个空余的容器,7个空余的盒子。假如我一个容器占一个盒子,那么我们的NodeManager就只能启动7个容器。

我们的任务都运行在容器里面,NodeManager就通过启动和关闭容器来完成资源的调度。

6、MapReduce架构概述:(计算)

Mapreduce将计算过程分为两个阶段:Map和Reduce
1.Map阶段并行处理输入数据
2.Reduce阶段对Map结果进行汇总

7、大数据技术生态体系:

图中涉及的技术名词解释如下:
1)Sqoop: Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
2)Flume: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
3)Kafka: Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
(3)支持通过Kafka服务器和消费机集群来分区消息。
(4)支持Hadoop并行数据加载。
4)Storm: Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。
5)Spark: Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。
6)Oozie: Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。
7)Hbase: HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
8)Hive: Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
9)R语言: R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
10)Mahout: Apache Mahout是个可扩展的机器学习和数据挖掘库。
11)ZooKeeper: Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。