• 假期进度三:hadoop总结


    一、大数据
    1.含义
    大数据指在一定时间范围内使用常规的软件无法处理的数据集合!

    2.特点
    ①海量
    ②高增长率
    ③多样性
    ④低价值密度

    二、Hadoop
    1.含义
    狭义: Hadoop只代表hadoop框架本身!
    广义: hadoop代表整个hadoop体系,由hadoop框架和其他依赖于hadoop的其他框架共同组成!

    2.hadoop的组成
    2.x版本

    HDFS: 负责大数据存储的一个分布式文件系统!
    YARN: 负责为大数据计算程序提供资源申请,管理和调度的框架!

    MapReduce: 编程框架
    Common: 常用的工具包

    2.x版本和1.x版本的区别:
    在1.x版本,MR既负责运行MR程序还负责为MR程序申请资源!Hadoop集群只能为自身的MR程序提供服务!
    在2.x版本,MR只负责MR程序的计算,资源的调度和管理由YARN负责!Hadoop集群,不仅能为自身的MR程序提供服务!
    还可以为第三方计算引擎,例如TeZ,Spark,Flink等提供计算资源的调度服务!

    三、HDFS中的核心进程

    1.核心进程
    Namenode(1个): 负责HDFS上所有文件元数据的管理!
    元数据: 文件的属性(文件名,大小,创建时间,所属主,由哪些块组成)

    					职责: ①负责接受客户端的所有请求
    							②负责接受DN上报的块信息
    							③负责向DN分配任务,例如维护文件的副本数等
    						
    	Datanode(N个):  负责HDFS上所有文件数据的存储!
    	
    	SecondaryNamenode(N个):  负责协助Namenode工作!
    

    四、YARN中的核心进程

    1.核心进程
    ResourceManager(1个): 负责整个集群所有资源的管理和调度!
    职责: ①负责接受客户端的所有请求
    ②负责接受NM上报的块信息
    ③负责向NM分配任务,例如检查NM是否健康,是否在线等

    	NodeManager(N个): 负责当前机器所有资源的管理和调度!
    

    五、MapReduce中的核心进程

    1.MapReduce是一个编程模型!这个模型由两个阶段组成,一个称为Map阶段,另一个称为Reduce阶段!
    在Map阶段和Reduce阶段分别启动若干进程负责运算!这些进程称为Task!

    	在Map阶段启动的Task称为MapTask!
    	在Reduce阶段启动的Task称为ReduceTask!
    	
    	将一个MapReduce程序称为一个Job!
    	
    	一个Job中会启动若干个Task!
    	
    	在Job启动时,Job会先创建一个MRAppMaster进程,由这个进程和RM进行通信,为Job中的每个Task申请
    	计算所需要的资源!
    	
    	Task的请求,会被RM缓存到一个调度队列中,由NM领取Task,领取后NM会根据Task要求,提供计算资源!
    	提供后,为了避免计算资源在当前Task使用时被其他的task抢占,NM会将资源封装到一个Container中!
    	
    	Container可以对计算资源进行隔离!
    

    六、安装
    1.环境要求
    必须保证已经安装了JDK,有JAVA_HOME环境变量!

    2.安装
    解压在linux下编译的Hadoop!

    1. 建议将HADOOP_HOME提升为全局变量!
      后续的HADOOP体系中的所有的框架,都通过HADOOP_HOME找到hadoop的安装目录!
      将bin,sbin目录配置到PATH中!

    4.目录结构
    bin: 常用的工具hadoop所在的目录
    sbin: 提供对集群的管理功能,例如启动和停止进程!
    etc: 默认的配置文件目录

    七、使用

    1. 配置文件
      hadoop有4个默认我配置文件,这4个文件会随着Hadoop启动时,自动加载!

       如果希望对这4个文件加载的默认属性进行覆盖!用户需要自定义配置文件!
       
       文件格式: 
       		core-site.xml----->core-default.xml
       		hdfs-site.xml----->hdfs-default.xml
       		yarn-site.xml----->yarn-default.xml
       		mapred-site.xml----->mapred-default.xml
       		
       配置文件的位置:
       		自定义位置:  hadoop --confdir 配置文件的目录
       		默认配置文件目录:  $HADOOP_HOME/etc/hadoop
      

    2.HDFS的运行模式

    	①本地模式:  使用当前计算机的文件系统作为HDFS的文件系统!
    				  fs.defaultFS=file:///(默认)
    				  
    	②分布式文件系统:  通过运行NN,DN等进程,由这些进程组成一个分布式的系统,进行文件的读写!
    				fs.defaultFS=hdfs://NN所在的主机名:9000
    

    3.启动一个分布式文件系统
    ①在(HADOOP_HOME/etc/hadoop,配置core-site.xml fs.defaultFS=hdfs://NN所在的主机名:9000 ②配置Hadoop默认的工作目录,在)HADOOP_HOME/etc/hadoop,配置core-site.xml
    hadoop.tmp.dir=配置一个当前用户有写权限的非tmp目录
    ③格式化NN
    hadoop namenode -format
    目的: ①生成NN的工作目录
    ②在工作目录下生成NN所要使用的特殊的文件,例如VERSION,fsiamge000000
    注意: 一个集群搭建完成后,只需要格式化一次!

    ④启动
    hadoop-daemon.sh start namenode|datanode

    ⑤查看
    jps
    http://NN所运行的主机名:50070

    4.MR的运行模式
    本地模式: 在本机使用多线程的方式模拟多个Task的运行!
    mapreduce.framework.name=local(默认)
    分布式模式: 在YARN上运行!
    mapreduce.framework.name=yarn(默认)

    5.配置MR在yarn上运行
    ①在(HADOOP_HOME/etc/hadoop,配置mapred-site.xml mapreduce.framework.name=yarn ②配置YARN 在)HADOOP_HOME/etc/hadoop,配置yarn-site.xml
    配置yarn.resourcemanager.hostname=RM运行的主机名
    yarn.xxxx-auxservice=mapreduce_shuffle
    ③启动YARN
    yarn-daemon.sh start resourcemanager | nodemanager

    ④查看
    jps
    http://rm所运行的主机名:8088

    ⑤提交作业
    hadoop jar xxx.jar 主类名 输入目录.. 输出目录

    	要去: 输出目录必须不存在
    			输入目录中必须全部是文件
  • 相关阅读:
    高阶函数
    Vue-cli 3.0 搭建,以及vuex、axios、使用
    Git --- 基本操作以及Git 特殊命令,公司常用命令
    Git 剖析,以及Git相关操作
    git ssh key 生成
    React.Fragment 组件没有必要的多层嵌套,外层不需要过多嵌套
    spring cloud连载第三篇之Spring Cloud Netflix
    spring cloud连载第二篇之Spring Cloud Config
    AbstractQueuedSynchronizer
    Timer定时器
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14213910.html
Copyright © 2020-2023  润新知