欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hadoop--简介

程序员文章站 2022-07-14 15:18:01
...

一、简介

谈谈大数据中谷歌论文的地位

说起来大数据,就不得不提hadoop,那么也就不得不提谷歌的发布的三篇论文:21世纪前三架马车

  • GFS==>HDFS分布式文件系统
  • MapReduce==>MapReduce分布式计算
  • BigTable==>HBase分布式列式存储数据库

Hadoop的发展

Hadoop官网:https://hadoop.apache.org/old/

  • 2006年Hadoop开始诞生第一个版本NDFS与MapReduce整合
  • Hadoop1 : 0.x和1.x系列
    • 最早的版本,只有HDFS和MapReduce,存在很多问题
    • 单点故障:主服务只能有一个
  • Hadoop2 : 2.x
    • 目前在工作中最常见的版本,基于Hadoop1多了yarn
    • HDFS默认网页端口50070
    • MapReduce v2
    • YARN默认网页端口8088
  • Hadoop3 :3.x
    • 基于Hadoop2的功能做了架构的重构
    • 还有待测试和完善

二、Hadoop的功能及模块

功能

  • 大数据存储
  • 大数据计算

模块

Hadoop Common

  • The common utilities that support the other Hadoop modules.
  • Hadoop的通用组件,用于连接各个模块的应用

Hadoop Distributed File System (HDFS™)

  • A distributed file system that provides high-throughput access to application data.
  • HDFS,分布式文件系统,用于提供高吞吐量的数据访问
  • 实现大数据的存储,提供大数据的读写访问

Hadoop MapReduce

  • A YARN-based system for parallel processing of large data sets.
  • 分布式计算模型,用于并行化的处理大量数据,基于Yarn
    MapReduce程序运行在YARN,由YARN提供分布式CPU和内存资源

Hadoop YARN

  • A framework for job scheduling and cluster resource management.
  • 分布式资源管理和任务调度框架
  • 资源管理将多台机器的资源构建成一个整体,CPU、内存
    • 对外提供统一的运行资源平台
    • 资源容器
    • 负责给在YARN中运行的程序提供资源
  • 任务调度
    • 多个MapReduce程序
    • 谁先运行,谁后运行
    • 每个程序使用多少资源

部署模式

本地模式

  • 测试,用于测试代码逻辑是否有问题
  • 在IDEA中开发MapReduce代码,直接运行,测试代码是否有问题
  • 不运行在Yarn上,不是分布式的,只启动一个JVM进行来运行代码

伪分布式

  • 测试,用于测试环境是否有问题
  • 一台机器构建分布式
  • 所有的主从进程都启动在一台机器
  • 环境跟分布式的差别就在于机器个数,性能会差一些

分布式

  • 企业实际的生产环境
  • 开发MapReduce程序,打成jar包
  • 提交到YARN集群中分布式运行,多台机器并行计算

配置相关

常见的目录及功能

  • bin:用于放命令
  • etc:用于存放配置文件的
    • 常见的配置文件目录一般叫conf,以前老版本也叫conf,后来hadoop不学好,跟linux学,把配置文件目录名称改成etc
  • lib:依赖库
  • sbin:一般用于存放进程的管理命令,启动、关闭等等
    • 如果既有bin又有sbin,bin一般客户端命令,sbin一般放服务端命令
  • logs:一般用于存放日志tips:Hadoop在安装使用过程中出现任何错误,都会记录在日志中

配置文件

第一类:环境变量配置文件:xxx-env.sh(3个)

  • hadoop-env.sh:用于配置Hadoop的环境变量
  • mapred-env.sh:用于配置MapReduce的环境变量的
  • yarn-env.sh:用于配置yarn的环境变量的
    比如添加JDK的路径
export JAVA_HOME=/export/servers/jdk1.8.0_141

第二类:属性配置文件:xxx-site.xml(4个)

官网可以查看这四个默认配置文件中所有配置以及默认值https://hadoop.apache.org/docs/r2.6.5/Hadoop--简介

  • core-site.xml:用于配置Hadoop全局的一些属性
    • 指定HDFS的入口,也就是NameNode的地址NameNode接受客户端请求的端口一般指定为8020
    • 指定存储Hadoop的临时数据的文件夹
  • hdfs-site.xml:用于配置HDFS的属性
    • 指定HDFS的web访问端口,用于浏览HDFS集群以及存储的数据端口一般指定为50070
    • 指定datanode将数据存储到每台机器的哪个位置
  • mapred-site.xml:配置MapReduce的属性
    • 指定MapReduce程序运行在YARN
  • yarn-site.xml:配置YARN的属性
    • 指定resource manager启动机器
    • yarn上运行的程序类型

第三类:从节点配置文件(1个)

用于配置DataNode和Nodemanager所在的机器
slaves:一行一个

相关标签: Hadoop hadoop