Hadoop 大数据技术原理与应用

article/2025/9/25 7:23:49

在这里插入图片描述

Hadoop 大数据技术原理与应用

大数据概述

定义

特征

  • 大量,多样,高速,价值

研究意义

应用场景

  • 医疗,金融,零售

Hadoop 概述

历史

优势

  • 扩容能力强,成本低,高效率,可靠性,高容错

Hadoop 生态

  • 分布式存储系统(HDFS)
  • 分布式计算框架(MapReduce)
  • 资源管理(YARN)
  • 数据迁移(Sqoop)
  • 数据挖掘算法库(Mahout)
  • 分布式数据库(HBase)
  • 分布式协调服务(Zookeeper)
  • 数据仓库(Hive)
  • 日志收集(Flume)

版本

搭建 Hadoop 集群

安装准备

  • 虚拟机安装
  • Linux 网络配置
  • SSH 服务配置

Hadoop 集群搭建

  • 部署模式
  • JDK 安装
  • Hadoop 安装
  • Hadoop 集群配置

测试

  • 格式化文件系统
  • 启动
  • 通过 UI 查看运行状态

HDFS 分布式文件系统

简介

  • 演变

  • 基本概念

    • 名称节点(NameNode)
    • 数据节点(DataNode)
    • 数据块(Block)
    • 机架(Rack)
    • 元数据(Metadata)
  • 特点

    • 优点:高容错,流式数据访问,支持超大文件,高数据吞吐量,可构建在廉价的机器上
    • 缺点:高延迟,不适合小文件存储场景,不适合并发写入

存储架构

文件读写原理

Shell 操作

Java API 操作

MapReduce 分布式计算框架

概述

  • 核心思想

    • 分而治之
    • Map 阶段:任务分解
    • Reduce 阶段:任务合并
  • MapReduce 编程模型

  • 实例

    • 词频统计

工作原理

  • MapReduce 工作过程

    • 分片,格式化数据源
    • 执行 MapTask
    • 执行 Shuffle 过程
    • 执行 Reduce Task
    • 写入文件
  • MapTask 工作原理

    • Read
    • Map
    • Collect
    • Spill
    • Combine
  • ReduceTask 工作原理

    • Copy
    • Merge
    • Sort
    • Reduce
    • Write
  • Shuffle 工作原理

编程组件

  • InputFormat
  • Mapper
  • Reducer
  • Partitioner
  • Combiner
  • OutputFormat

运行模式

  • 本地运行模式
  • 集群运行模式

性能优化

案例

  • 倒排索引
  • 数据去重
  • TopN

Zookeeper 分布式协调服务

初识

  • 简介

  • 特性

    • 全局数据一致性,可靠性,顺序性,数据更新原子性,实时性
  • 角色

    • Leader
    • Follower
    • Observer

数据模型

  • 数据存储结构

  • Znode

    • 类型
    • 属性

Watch 机制

  • 简介

  • 特点

    • 一次性触发,事件封装,异步发送,先注册再触发
  • 通知状态

  • 事件类型

选举机制

  • 简介

    • 服务器 ID
    • 选举状态
    • 数据 ID
    • 逻辑时钟
  • 类型

    • 全新集群选举
    • 非全新集群选举

分布式集群部署

  • 下载安装
  • 相关配置
  • 服务的启动与关闭

Shell 操作

Java API

应用场景

  • 数据发布与订阅
  • 统一命名服务
  • 分布式锁

Hadoop 2.0 新特性

改进与提升

YARN 资源管理框架

  • 体系结构

    • ResourceManager
    • NodeManager
    • ApplicationMaster
  • 工作流程

HDFS 的高可用

  • 高可用架构
  • 搭建高可用集群

Hive 数据仓储

简介

  • 数据仓库

    • 面向主题

    • 随时间变化

    • 相对稳定

    • 结构

      • 数据源
      • 数据存储及管理
      • OLAP 服务器
      • 前端工具
    • 数据模型

      • 星状模型
      • 雪花模型
  • Hive

    • 简介

    • 系统架构

      • 用户接口

        • CLI
        • JDBC/ODBC
        • WebUI
      • 跨语言服务

      • 底层的驱动引擎

        • 编译器
        • 优化器
        • 执行器
      • 元数据存储系统

        • Derby(默认)
        • MySQL
    • 工作原理

    • 数据模型

      • 数据库
      • 分区
      • 桶表

安装

  • 安装模式

    • 嵌入
    • 本地
    • 远程

管理

  • CLI 方式
  • 远程服务

内置数据类型

数据模型操作

  • 数据库操作
  • 内部表操作
  • 外部表操作
  • 分区表操作
  • 桶表操作

数据操作

Flume 日志采集

概述

  • 简介

  • 运行机制

    • Source(数据采集器)
    • Channel(缓冲通道)
    • Sink(接收器)
  • 结构图

    • 简单结构
    • 复杂结构

基本使用

  • 系统要求

  • 安装配置

  • 入门使用

    • 配置采集方案
    • 使用指定采集方案启动 Flume
    • Flume 采集数据测试

采集方案配置说明

可靠性保证

  • 负载均衡
  • 故障转移

拦截器

  • Timestamp
  • Static
  • Search and Replace

实例

Azkaban 工作流管理

概述

  • 工作流管理器

    • 工作流调度系统背景

    • 常用工作流管理器

      • Oozie
      • Azkaban
      • Zeus
  • Azkaban

    • 特点

      • 兼容任何版本的 Hadoop
      • 易用的 Web UI
      • 简单的 Web 和 HTTP 工作流上传
      • 支持工作流定时调度
      • 支持模块化和可插入
      • 支持身份验证和授权
      • 支持用户操作跟踪
      • 支持有关失败和成功的电子邮件提醒
      • 提供 SLA 警报和自动查杀功能
    • 组成结构

      • Relational Database
      • Azkaban Web Server
      • Azkaban Executor Server
    • 部署模式

      • sole servere mode
      • two server mode
      • distributed multiple-executor mode

部署

  • 资源准备

    • 下载源文件
    • 编译源文件
    • 安装包获取
  • 安装配置

    • MySQL 安装配置
    • Web 服务安装配置
    • Executor 服务安装配置
  • 启动测试

使用

  • 工作流相关概念

    • job 任务
    • 工作流
    • 嵌入流
  • 案例

Sqoop 数据迁移

概述

  • 简介
  • 原理

安装配置

指令介绍

数据导入

数据导出


http://chatgpt.dhexx.cn/article/y8GMCDKe.shtml

相关文章

大数据-Hadoop应用

一、初识Hadoop 以一个小故事解释什么是Hadoop: 小明接到一个任务:计算一个100M的文本文件中的单词的个数,这个文本文件有若干行,每行有若干个单词,每行单词与单词之间均以空格键隔开。对于处理这种100M量级数据的计…

Spark应用场景以及与hadoop的比较

Spark应用场景以及与hadoop的比较 一、大数据的四大特征: a.海量的数据规模(volume) b.快速的数据流转和动态的数据体系(velocity) c.多样的数据类型(variety) d.巨大的数据价值(value) 二.Spark 和 Hadoop的不同 Spark是给予map reduce 算法实现的分布式计算,拥有Ha…

Hadoop、Storm和Spark主流分布式系统特点和应用场景

最初我们来到这个世界,是因为不得不来;最终我们离开这个世界,是因为不得不走。——《余华作品集》 1、概述 大数据现在是业内炙手可热的话题,随着技术的发展,如HDFS,大数据存储技术已经不在是难点&#xff…

Hadoop大数据分析应用场景

J 为了满足日益增长的业务变化,京东的京麦团队在京东大数据平台的基础上,采用了hadoop等热门的开源大数据计算引擎,打造了一款为京东运营和产品提供决策性的数据类产品-北斗平台。 一、Hadoop的应用业务分析 大数据是不能用传统的计算技术处理…

Hadoop:MapReduce应用

文章目录 一、Join多种应用1.1 Reduce Join1.2 Map Join 二、计数器应用三、数据清洗(ETL)四、MapReduce开发总结 一、Join多种应用 1.1 Reduce Join Reduce Join工作原理: Map端的主要工作:为来自不同表(文件)的key/value对打…

大数据分析项目实例:Hadoop数据分析应用场景

对于海量数据价值的挖掘,需要通过大数据分析来实现,而这些数据由于具有不同于传统数据的新特征,传统的数据分析技术和工具都不能高效的进行处理,因而才有了基于大数据技术平台进行大数据分析的需求。今天,我们以Hadoop…

Hadoop常见场景

本篇文章主要列举一些Hadoop常用场景 ​ 主要是以下几种 ​ 高可用集群 ​ 节点新增/减少/拉黑 ​ HDFS数据迁移 ​ 大量小文件存储 ​ 高可用集群 ​ 一句话概括 双namenode消除单点故障 ​ 过程: ​ 对active Namenode进行的任何操作,都会同…

Hadoop的优势及大数据平台系统架构典型行业应用场景

扩容能力强:Hadoop可以部署在数百台并行运行的廉价服务器集群,能提供成百上千TB的数据节点上运行的高度可扩展的存储与计算平台。 成本低:Hadoop可以通过普通廉价的服务器集群分布式处理数据,从而降低成本。 高效率:…

大数据利器:Hadoop的十大应用场景[转]

【IT168 评论】谁在用Hadoop?这是个问题。在大数据背景下,Apache Hadoop已经逐渐成为一种标签性,业界对于这一开源分布式技术的了解也在不断加深。但谁才是Hadoop的最大用户呢?首先想到的当然是它的“发源地”,像Google这样的大型互联网搜索…

金三银四、金九银十 面试宝典 Spring、MyBatis、SpringMVC面试题 超级无敌全的面试题汇总(超万字的面试题,让你的SSM框架无可挑剔)

Spring、MyBatis、SpringMVC 框架 - 面试宝典 又到了 金三银四、金九银十 的时候了,是时候收藏一波面试题了,面试题可以不学,但不能没有!🥁🥁🥁 一个合格的 计算机打工人 ,收藏夹里…

Spring 常见面试题

目录 Spring 基础 1、什么是 Spring 框架? 2、Spring 包含的模块有哪些? 3、Spring,Spring MVC,Spring Boot 之间什么关系? Spring IoC 4、谈谈自己对于 Spring IoC 的了解 5、什么是 Spring Bean? 6、将一个类声明为 Bean 的注解有哪些? 7、…

Spring框架常见面试题

1. 你对Spring框架的理解(特点)? Spring框架有哪些模块 ? Spring,一种用来简化企业应用级开发的一种开源框架。简化开发:它对常用的API做了封装,比如对JDBC的封装,使用Spring JDBC访问数据库,就…

【面试】Spring面试题

文章目录 Spring概述什么是spring?Spring的俩大核心概念Spring框架的设计目标,设计理念,和核心是什么Spring的优缺点是什么?Spring有哪些应用场景Spring由哪些模块组成?Spring 框架中都用到了哪些设计模式?详细讲解一…

Spring框架面试精华知识

咳咳,这里整理一些关于WEB框架的一些知识点,来帮助更多的人进行面试,主要的还是讲解一些关于目前企业用得比较流行的框架,还有就是一些比较前沿的框架,比如阿里开源的Dubbo框架及其开源框架Zookeeper等等,都…

Spring框架-面试题核心概念

目录 1.Spring框架的作用是什么? 2. 什么是DI? 3.什么是AOP? 4.Spring常用注解 5.Spring中的设计模式 6.Spring支持的几种bean的作用域 7.Spring中Bean的生命周期? 8.Spring中的事务管理 9.Spring中的依赖注入方式有几种 10.Sprin…

MyBatis+Spring+SpringMVC框架面试题整理(一)

目录 SpringMVC 的工作原理 谈谈你对SpringMVC的理解 SpringMVC 常用注解都有哪些? Spring 的常用注解 如何开启注解处理器和适配器? 如何解决 get 和 post 乱码问题? 谈谈你对 Spring 的理解 Spring 中的设计模式(解释) 简单介绍一下 Spring bean 的生命周期&…

面试官:看你简历上写熟悉Spring框架,谈谈对Spring的理解

今天只谈一下我们在面试中的如果面试官问到Spring,你应该怎么去回答,来获取面试官的青睐。在我的印象中,Spring框架可以说是Java世界里面最为成功的框架了,在企业的实际的应用里面,大部分的企业架构都是基于Spring框架…

说实话,面试这么问Spring框架的问题,我快扛不住了

面试官:Spring Framework有用过吧? 小小白:用过(有些心虚,因为Spring框架中内容太多了)。 面试官:在applicationgContext.xml文件中定义了一个bean,id为authService,通过ApplicationContext实例对象的getB…

【java面试】框架篇之Spring

1.你如何理解Spring? 具体来说Spring是一个轻量级的容器,用于管理业务相关对象的。核心功能主要为:IOC,AOP,MVC。 IOD:控制反转,将对象的创建过程交给容器,让容器管理对象的生命周期如创建,初始化&#…

spring框架-如何面试(四)

回顾: spring框架-认识spring框架(一) spring框架-认识IOC(二) spring框架-认识AOP(三) 面试官关于spring最喜欢、也是概率最大的提问 谈谈你对spring的理解 spring的官方定义:…