• 大数据基础Hadoop 2.x入门


    hadoop概述

    1. 存储和分析网络数据
    2. 三大组件
      • MapReduce
        • 对海量数据的处理
        • 思想:
          • 分而治之
          • 每个数据集进行逻辑业务处理map
          • 合并统计数据结果reduce
      • HDFS
        • 储存海量数据
        • 分布式存储
        • 安全性高
          • 副本数据
      • YARN
        • 分布式资源管理框架
          • 管理整个集群的资源(内存、CPU核数)
          • 分配调度集群资源
      • Common
        • 工具

    hadoop生态圈

    1. Hive(蜜蜂)通过使用sql语句来执行hadoop任务
    2. HBase 存储结构化数据的分布式数据库
      • HBase放弃了事务特性,追求更高的扩展
      • 和HDFS不同的,HBase提供数据的随机读写和实时访问,实现对表数据的读写功能
    3. zookeeper 维护节点状态

    Hadoop安装

    1. 使用docker安装
    docker run -i -t -p 50070:50070 -p 9000:9000 -p 8088:8088 -p 8040:8040 -p 8042:8042  -p 49707:49707  -p 50010:50010  -p 50075:50075  -p 50090:50090 sequenceiq/hadoop-docker:2.6.0 /etc/bootstrap.sh -bash
    

    HDFS基本概念

    1. 块 (Block)
      • HDFS的文件被分成块进行存储
      • HDFS块的默认大小64M
      • 块是文件储存处理的逻辑单元
    2. NameNode
      • NameNode是管理节点,存放文件元数据
      • 文件与数据块的映射表
      • 数据块与数据节点的映射表
    3. DataNode
      • 是HDFS的工作节点,存放数据块

    HDFS中数据管理与容错

    1. 数据块副本

    2. 心跳检测

    3. 二级NameNode

    HDFS中文件读写的流程

    HDFS写入文件的流程

    HDFS的特点

    1. 数据冗余,硬件容错
    2. 流式的数据访问
    3. 适合存储大文件
    4. 适合数据批量读写,吞吐量高
    5. 不适合交互式应用,低延迟很难满足
    6. 适合一次写入多次读取,顺序读写
    7. 不支持多用户并发写相同文件

    HDFS命令行操作

    1. hadoop fs -ls /
    2. hadoop namenode -format 格式化操作
    3. hadoop fs -ls /user
    4. hadoop fs -put hadoop-env.sh /user/root 把文件放入hadoop
    5. hadoop fs -rm input
    6. hadoop fs -rm hadoop-env.sh
    7. hadoop fs -mkdir input
    8. hadoop fs -cat input/hadoop-env.sh
    9. hadoop fs -get input/hadoop-env.sh hadoop-env2.sh
    10. hadoop dfsadmin -report

    MapReduce原理

    1. 分而治之,一个大人物分成多个小的子任务(map),并行执行后,合并结果(reduce)
    2. 比如:100GB的网站访问日志文件,找出访问次数最多的IP地址
      • 根据日期切分,比如按周,每周一份进行统计
      • 再合并到某几个机器进行分析合并

    MapReduce运行流程

    1. 基本概念
      • Job & Task 一个job就例如上面的例子,task可以分为map task和reduce task
      • JobTracker
        • 作业调度
        • 分配任务、监控任务执行进度
        • 监控TaskTracker的状态
      • TaskTracker
        • 执行任务
        • 汇报任务状态
    2. MapReduce作业执行过程

    MapReduce的容错机制

    1. 重复执行
      • 重复4次仍旧失败放弃
    2. 推测执行
      • 假设有个TaskTracker执行特别慢,它会启动另一个TaskTracker执行相同的任务,两个谁先执行完,就放弃另一个

    MapReduce应用

    WordCount单词计数

    1. 由于我是docker安装,具体例子可以参考如下

    https://blog.csdn.net/qq_16563637/article/details/81702633

    1. docker安装的容器里,自带了例子,位置是/usr/local/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar

    参考 https://www.imooc.com/video/7777

  • 相关阅读:
    转载__Java内部类
    Fragment之介绍(转)
    转载__Android-屏幕适配需要注意的地方
    转载__广播机制
    Activity的启动模式--总结
    图片_ _Android--加载大分辨率图片到内存
    转载—— android 瀑布流的实现详解,附源码
    转载_安卓性能优化
    C# Byte[] 数组操作
    C# 测算代码运行时间 Stopwatch
  • 原文地址:https://www.cnblogs.com/sky-chen/p/10054373.html
Copyright © 2020-2023  润新知