haodoop概念总结

大数据部门组织结构

image

Hadoop的优势(4高)

  1. 高可靠性:Hadoop底层维护多个数据副本
  2. 高扩展性:在集群间分配任务数据,可方便的扩展
  3. 高效性:在MapReduce的思想下,Hadoop时并行工作的,从而加快任务处理速度
  4. 高容错性:能够自动将失败的任务重新分配

Hadoop组成(重点)

  • hadoop1.x

    mapreduce(计算+资料调度) HDFS(数据存储) Common(辅助工具)

  • hadoop2.x

    mapreduce(计算) HDFS(数据存储) Common(辅助工具) yarn(资料调度

HDFS架构

image

  • NameNode(主管)

    存储文件的元数据 (文件名,文件目录结构,文件属性(生成时间,副本数,文件权限))以及每个文件的块列表和块所在的DataNode

    1. 管理HDFS的名称空间
    2. 配置副本策略
    3. 管理数据块(Block)映射信息
    4. 处理客户端读写请求
  • Secondary NameNode(主管秘书)

    每隔一段时间对NameNode元数据备份

    !!->并非NameNode的热备 无法在NameNode无法工作时代替NameNode工作

    1. 辅助NameNode,分担其工作量(如:定期合并Fsimage和Edits,并推送给NameNode)
    2. 在紧急情况下,可辅助恢复NameNode
  • DataNode(员工)

    在本地文件系统存储文件块数据,以及块数据的校验和

    1. 存储实际的数据块
    2. 执行数据块的读/写操作
  • Client (客户端)

    1. 文件切分
    2. 与NameNode交互,获取文件的位置信息
    3. 与DataNode交互,读取或写入数据
    4. 执行一些命令来管理HDFS(如:NameNode的格式化)
    5. 执行一些命令来访问HDFS(如:HDFS的增删改查)

YARN架构

  • ResourceManager(RM)

    1. 处理客户端请求
    2. 监控NodeManager
    3. 启动或监控ApplicationMaster
    4. 资源的分配与调度
  • NodeManager(NM)

    1. 管理单个节点上的资源
    2. 处理来自ResourceManager的命令
    3. 处理来自ApplicationMaster的命令
  • ApplicationMaster

    1. 负责数据的切分
    2. 为应用程序申请资源并分配给内部的任务
    3. 任务的监控与容错
  • Container

    Container是YARN中的资源抽象,封装了某个节点上的多维度资源,(内存,cpu,磁盘,网络)

大数据技术生态体系

image

Hadoop环境搭建的常用命令

  • 修改主机名称

    vim /etc/hostname

  • 配置linux克隆机主机名称映射hosts

    vim /etc/hosts

  • 解压JDK到/opt/module目录下

    tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

  • 配置JDK环境变量

  • 新建/etc/profile.d/my_env.sh文件

    sudo vim /etc/profile.d/my_env.sh

    添加如下内容

    #JAVA_HOME
    
    export JAVA_HOME=/opt/module/jdk1.8.0_212
    
    export PATH=$PATH:$JAVA_HOME/bin
    
  • 环境变量PATH生效

    source /etc/profile

  • 生成公钥和私钥

    ssh-keygen -t rsa

  • Hadoop执行MapReduce程序

    hadoop jar wc.jar com.atguigu.wordcount.WordcountDriver /user/atguigu/input /user/atguigu/output

posted @ 2022-07-26 16:31  POCOPOCOPOCO  阅读(77)  评论(0编辑  收藏  举报