首页 > 其他分享 >学习hadoop第一周

学习hadoop第一周

时间:2024-07-13 20:08:47浏览次数:11  
标签:HDFS 存储 文件 主机 第一周 Hadoop hadoop 学习 Datanode

刚开始接触Hadoop,我深感这一大数据处理框架的复杂与强大。Hadoop以其分布式存储和处理海量数据的能力,在业界享有盛誉,成为大数据领域的核心技术之一。

在学习过程中,我首先遇到了Hadoop的架构理解难题。Hadoop采用主从架构,包括HDFS、YARN等核心组件,每个组件都有其独特的功能和相互之间的协作机制。通过不断查阅资料和实践操作,我逐渐厘清了这些组件之间的关系,对Hadoop的整体架构有了更为清晰的认识。

在安装与配置Hadoop环境时,我遇到了不少挑战。由于Hadoop是分布式系统,需要在多台机器上部署和配置,这要求我具备扎实的网络知识和系统管理能力。在这个过程中,我不仅学会了如何配置Hadoop集群,还掌握了Linux系统的基本操作,收获颇丰。

在学习Hadoop的过程中,我深刻体会到了理论与实践相结合的重要性。通过实际操作,我对Hadoop的数据处理流程、作业调度等有了更为直观的认识。同时,我也意识到自己在大数据处理方面的知识还有待加强,需要不断学习新的技术和工具。

总之,刚开始学习Hadoop是一段充满挑战但又极具收获的旅程。

1 Hadoop入门教程

Hadoop是Apache开源组织的一个分布式计算开源框架(http://hadoop.apache.org/),用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现存储,而MapReduce实现原理分析处理,这两部分是hadoop的核心。数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果,它是一个高性能处理海量数据集的工具 。

1.1 Hadoop家族

Hadoop教程(一) Hadoop入门教程「建议收藏」

1.2 HDFS文件系统

HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(largedata set)的应用程序。

HDFS的设计特点:

1、大数据文件,非常适合上T级别的大文件或者一堆大数据文件的存储。

2、文件分块存储,HDFS会将一个完整的大文件平均分块存储到不同计算器上,它的意义在于读取文件时可以同时从多个主机取不同区块的文件,多主机读取比单主机读取效率要高得多。

3、流式数据访问,一次写入多次读写,这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。

4、廉价硬件,HDFS可以应用在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。

5、硬件故障,HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。

HDFS的master/slave构架:

一个HDFS集群是有一个Namenode和一定数目的Datanode组成。Namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。Datanode在集群中一般是一个节点一个,负责管理节点上它们附带的存储。在内部,一个文件其实分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace操作,例如打开、关闭、重命名文件和目录,同时决定block到具体Datanode节点的映射。Datanode在Namenode的指挥下进行block的创建、删除和复制。Namenode和Datanode都是设计成可以跑在普通的廉价的运行linux的机器上。

HDFS的关键元素:

1、Block:将一个文件进行分块,通常是64M。

2、NameNode:保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。在Hadoop2.*开始支持activity-standy模式—-如果主NameNode失效,启动备用主机运行NameNode。

3、DataNode:分布在廉价的计算机上,用于存储Block块文件。

Hadoop教程(一) Hadoop入门教程「建议收藏」

标签:HDFS,存储,文件,主机,第一周,Hadoop,hadoop,学习,Datanode
From: https://www.cnblogs.com/binglinll/p/18300616

相关文章

  • 学习Hadoop2
    1.理解Hadoop的基本概念在开始学习之前,首先要理解Hadoop的核心概念。Hadoop主要由两个部分组成:HDFS(HadoopDistributedFileSystem)和MapReduce。HDFS是一个分布式文件系统,它将大型数据集分散存储在多个机器上。MapReduce是一种编程模型,用于在大规模数据集上进行并行处理。2.......
  • 学习java进度报告
    helloJava假期`已经过去一周了,也已经完全的放纵一周了,也该拾起学习大业了.看到了暑假生活指导,还是很有压力的,以前只觉得java和之前学的编程语言差不多.现在才知道程度区别很大,以前最多写写简单的编程题目,这次要掌握JAVAweb的前后台开发技术,甚至编写javaweb信息管理系......
  • 优质WPF免费学习资源分享(含代码)
    WPF自学资源分享背景自身是winform开发,winform岗位比较少。wpf和winfom殊途同归,所以自身最近也在学习wpf。分享一下自己寻找到的wpf学习资源,希望对大家有帮助。学习资源推荐书籍学习资源《深入简出WPF》-刘铁猛作者是微软的高级开发工程师,多年的wpf开发经验。不过作者......
  • 深度学习调参
    此文整理总结github上的一个资料,结尾附上链接。对于工程应用很有现实参考,带入实际工作场景中会有不少的收获。这份文档旨在帮助工程师和研究人员系统性地优化深度学习模型的性能。它涵盖了从项目启动到模型部署的各个环节,包括:模型选择:建议从成熟的模型架构开始,并根据需......
  • JavaScript的基础学习(一)
    从头开始学习JavaScript,重新开始打基础<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>......
  • 一起学习LeetCode热题100道(11/100)
    11.滑动窗口最大值(学习)给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,......
  • 第二周学习报告
    又经过了一周的学习,今天对本周学习进行总结本周安装了IDEA,了解并学习了相关知识。还学习了Java中键盘录入、运算符、判断和循环的用法。IDEAIDEA全称IntelliJIDEA,是java编程语言的集成开发环境,它广泛应用于软件开发领域。IDEA官网:https://www.jetbrains.com/idea/键盘录入J......
  • 模型部署 - TensorRT & Triton 学习
    先介绍TensorRT、Triton的关系和区别:TensorRT:为inference(推理)为生,是NVIDIA研发的一款针对深度学习模型在GPU上的计算,显著提高GPU上的模型推理性能。即一种专门针对高性能推理的模型框架,也可以解析其他框架的模型如tensorflow、torch。主要优化手段如下: Triton:类似于TensorFlo......
  • 深度学习 - 门禁系统的人脸录入和识别流程
    门禁系统中的人脸录入和识别通常采用以下几种算法和技术:1.人脸检测(FaceDetection)人脸检测是人脸识别系统的第一步,用于在图像或视频中定位和提取人脸区域。常用的算法包括:HaarCascades (OpenCV):经典的基于特征的检测方法。HOG(HistogramofOrientedGradients) + S......
  • 深度学习 - 人脸识别 - 苹果是怎么做的
    苹果的面部识别功能称为 FaceID,它在iPhone和iPad上使用,是一种高度安全且方便的生物识别认证方法。FaceID主要依赖于以下核心技术和算法:1.硬件组件FaceID依赖于iPhone和iPad上的 TrueDepth摄像头系统,它包括多个硬件组件:红外摄像头:捕捉用户面部的红外图像。泛......