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

大数据基础Hadoop 2.x入门的更多相关文章

  1. 【大数据系统架构师】1.2 大数据基础Hadoop 2.X

    1. hadoop环境搭建 1.1 伪分布式环境搭建 1.1.1 伪分布式环境搭建 1.1.2 伪分布式搭建结果 hdfs可视化界面: http://od001:50070/dfshealth.htm ...

  2. 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍

    Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...

  3. 大数据之Hadoop技术入门汇总

    今天,小编对Hadoop入门学习知识进行了汇总,帮助大家更好地入手大数据.小编关于Hadoop入门总共发写了12篇原创文章,文章是参照尚硅谷大数据视频教程来进行撰写的. 今天,小编带你解锁正确的阅读顺 ...

  4. 大数据:Hadoop入门

    大数据:Hadoop入门 一:什么是大数据 什么是大数据: (1.)大数据是指在一定时间内无法用常规软件对其内容进行抓取,管理和处理的数据集合,简而言之就是数据量非常大,大到无法用常规工具进行处理,如 ...

  5. Hadoop基础之初识大数据与Hadoop

    前言 从今天起,我将一步一步的分享大数据相关的知识,其实很多程序员感觉大数据很难学,其实并不是你想象的这样,只要自己想学,还有什么难得呢? 学习Hadoop有一个8020原则,80%都是在不断的配置配 ...

  6. 大数据和Hadoop生态圈

    大数据和Hadoop生态圈 一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop ...

  7. hadoop(一)之初识大数据与Hadoop

    前言 从今天起,我将一步一步的分享大数据相关的知识,其实很多程序员感觉大数据很难学,其实并不是你想象的这样,只要自己想学,还有什么难得呢? 学习Hadoop有一个8020原则,80%都是在不断的配置配 ...

  8. 大数据和hadoop有什么关系?

    本文资料来自百度文库相关文档 Hadoop,Spark和Storm是目前最重要的三大分布式计算系统,Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于 ...

  9. Hadoop专业解决方案-第1章 大数据和Hadoop生态圈

    一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在此 ...

随机推荐

  1. 自定义扩展实现相对于addRoutes的removeRoutes方法——vue-router

    使用vue-router的addRoutes方法做登录权限控制,当用户推出登录回到login页后,切换不同权限的账号,如果不reload页面,会导致router权限问题,故在vue-router代码中 ...

  2. 分析easyswoole3.0源码,服务启动为例(一)

    swoole已经升级到4了,主要的特性是更好的支持协程,easyswoole也为了更好支持协程推出了es3.我本地环境是php7.2.9 centos7 在github下载最新的3.0的demo.地址 ...

  3. java用POI操作excel——随便写一下,最基础的东西

    前两天部门实施在做一个东西,需要把客户放在Excel中的数据导入到Oracle数据库中,我就想着直接写一个模板,必要的时候改一下实体类应该可以解放实施同事的双手,不过在实际写的过程中,还是碰到很多问题 ...

  4. openwrt添加内核模块

    进行目录package/kernel mkdir url-redirect cd url-redirect [zzh@KD1 url-redirect]$ tree . |-- Makefile `- ...

  5. Flask cookie

    一 什么是cookie        什么是cookie?如果单单从数据结构的角度来说,它可以被理解成用来保存数据的一个dictionary,由一组组键值对组成.如果从作用上来说,我们知道Http协议 ...

  6. github菜鸟入门

    github菜鸟入门教程 闲来无事,研究了下github的玩法,完毕总结:简单好玩,上档次! 一.首先注册github的账号 二.下载安装git 三.新建仓库 1.点击右上方的+号选择首项新建仓库 2 ...

  7. dubbo入门学习 三 dubbo简介

    http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html Dubbo简介 1. Dubbo:一个分布式.高性能.透明 ...

  8. JQUERY-自定义插件-ajax-跨域访问

    正课: 1. ***自定义插件: 2. Ajax 3. *****跨域访问: 1. ***自定义插件: 前提: 已经用html,css,js实现了 2种风格: 1. jQueryUI侵入式: 1. c ...

  9. 移动端常见bug

    meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-wid ...

  10. C语言字符串和十六进制的相互转换方式

    C语言的字符串操作并不像java,Csharp那样提供直接的方法,简单粗暴.所以,在转换的时候往往费力费时,近日做项目正好用到和java程序通讯,java发送过来的数据是十六进制数字组成的字符串,解析 ...