专栏首页Java工程师成长之路大数据基础Hadoop 2.x入门

大数据基础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. 数据块副本
  1. 心跳检测
  1. 二级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
  2. docker安装的容器里,自带了例子,位置是/usr/local/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ElasticSearch集群搭建

    老梁
  • 网络七层架构一句话简述

    老梁
  • OAuth2简易实战(四)-Github社交联合登录

    老梁
  • Hadoop问题笔记之五问五答

    我是攻城师
  • Hadoop05【命令操作】

      上篇文章我们成功的搭建了hadoop的集群环境,本文来介绍下hadoop的基本操作

    用户4919348
  • Hadoop-2.8.0分布式安装手册

    10.12.154.79: Error: JAVA_HOME is not set and could not be found.

    一见
  • hadoop本地运行的两个案例。官方Grep案例、官方WordCount案例。

    在前两篇文章已经把虚拟机环境和jdk、hadoop安装好了,下面我们来看看,hadoop本地运行的两个案例。官方Grep案例、官方WordCount案例。

    用户7656790
  • hadoop之Name node is in safe mode

    关闭虚拟机之后重启hadoop,想要用删除之前在hdfs运行的output文件,显示:

    绝命生
  • 使用oracle的大数据工具ODCH访问HDFS数据文件

    软件下载 Oracle Big Data Connectors:ODCH 下载地址: http://www.oracle.com/technetwork/bdc...

    cloudskyme
  • VMware虚拟机相关问题

    直接拷贝虚拟机文件; 使用对应版本的VMware虚拟机来打开它; 不知道选择“我已复制该虚拟机”; 知道选择“我已移动该虚拟机”(免设置网络IP)一定要选这个!...

    ZONGLYN

扫码关注云+社区

领取腾讯云代金券