zoukankan      html  css  js  c++  java
  • hadoop基础(from慕课网)

    Hadoop基础

    1HDFS分布式文件系统:存储是大数据技术的基础。

    数据块:

    数据块是抽象而非整个文件作为存储单元。

    默认大小为64mb,一般设置为128m,备份*3

    NameNode()

    管理文件系统的命名空间,存放文件元数据。

    维护文件系统的所有文件和目录,文件与数据块的映射。

    记录每个文件中各个块所在数据节点的信息。

    DataNode()

    存储并检索数据块。

    NameNode更新所存储块的列表。

    HDFS优点:

    适合大文件存储,支持TBPB级的数据存储,并有副本策略。

    可以构建在廉价的及机器上,并有一定的容错和恢复机制。

    支持流式数据访问,一次写入,多次读取最高效。

    HDFS缺点:

    不适合大量小文件存储。

    不适合并发写入,不支持文件随机修改。

    不支持随机读等低延时的访问方式。

    HDFS写流程

    ClientNameNode请求存储,NameNodeClient返回DataNode空闲信息,Client将数据分块,之后将数据和DataNode的某些信息一起存到DataNode-1上,由于数据块要备份,DataNode-1将数据块传送给DataNode-2DataNode-3,之后告诉NameNode已经存储完数据块。

    客户端向NameNode发起写数据请求

    分块写入DataNode节点,DataNode自动完成副本备份

    DataNodeNameNode汇报存储完成,NameNode通知客户端

    HDFS读流程:

    客户端向NameNode发起读数据请求

    NameNode找出距离最近的DataNode节点信息发送给客服端

    客户端从DataNode分块下载文件

    常用HDFS Shell命令

    copyFromLocal:从本地拷贝到HDFS

    copyToLocal:从HDFS拷贝到本地

    get:下载文件

    put:上传文件

    实操:

    ./hdfs dfs -help 查看hdfs操作帮助

    2MapReduce编程模型:

    分布式计算是大数据应用的解决方案。

    MapReduce是一种编程模型,是一种编程方法,是抽象的理论。

    YARN:调度MapReduce操作。

    ResourceManager

    分配和调度资源

    启动并监控ApplicationMaster

    监控NodeManager

    ApplicationMaster

    MR类型的程序申请资源,并分配给内部任务

    负责数据的切分

    监控的任务的执行和容错

    NodeManager

    管理单个结点的资源

    处理来自ResourceManager的命令

    处理来自ApplicationMaster的命令

    MapReduce编程模型

    输入一个大文件,通过Split之后,将其分为多个分片

    每个文件分片由单独的机器去处理,这就是map方法

    将各个机器计算的结果进行汇总并得到最终的结果,这就是Reduce方法

    使用mapreduce计算:

    /address/../hadoop   jar  / ... / xxx.jar  -files “xx,xx”  -input  file  -output  file  -mapper  “/address file”  -reducer  “/address file”

  • 相关阅读:
    【C++ OpenGL ES 2.0编程笔记】8: 使用VBO和IBO绘制立方体 【转】
    顶点缓存对象(VBO)【转】
    CompileGLShader
    VR虚拟现实的工作原理,你知道多少?【转】
    VR/AR工作原理、目前存在的技术问题
    Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'
    nginx配置用户认证
    恢复阿里云RDS云数据库MySQL的备份文件到自建数据库
    阿里云rds linux平台使用wget 工具下载备份与日志文件
    screen 命令使用及示例
  • 原文地址:https://www.cnblogs.com/fxw-learning/p/12345568.html
Copyright © 2011-2022 走看看