Hadoop相关学习笔记

大数据架构体系结构及开源组件

Hadoop

HDFS:大数据存储
Mapreduce:大数据计算 - 批量计算

Spark:计算引擎,速度快于Hadoop

Hbase:存储对形式和格式;查询非常快,与Hive比较

Zookeeper:管理「小动物」

Nutch:分布式数据采集

Storm:内存计算,流式计算

R

Hive: 提供交互式查询,基于MapReduce

Impala: 同交互,速度快于Hive,

麒麟

Hadoop相关学习笔记_第1张图片
大数据架构体系

Linux基本操作命令

cd 绝对路径/相对路径
cd ./ 当前目录下
cd ../ 进入当前目录的上一级
ll (List the list)
-l 列出数据串
-a 列出全部文件(包括隐藏文件)
-d (directory)
-h 显示文件大小,不同单位 kb、mb
-R 递归列出
cp&mv(copy & move相当于剪切和复制操作)
cp -a file1 file2 连同file1的所有特性把文件复制为file2
cp file1 file2 dir1 将文件file1、file2复制到dir目录下
mv -f 强制覆盖(force)
mv -i 若目标文件存在,就询问是否执行覆盖操作
rm (remove)参数如下
-f 强制删除
-r 递归删除,最常用于目录删除
-i 互动模式,在删除是会询问用户是否删除
示例:rm -rf file
ps & netstat & kill
netstat 用于查看网络端口状态
ps 用于把某个时间点的进程运行情况显示出来 ps即process
kill 用于向某个工作或者某个进程(PID)传递结束信号
tar 打包压缩,参数如下
-c 新建打包文件
-t 查看打包文件的内容包含那些文件名
-x 解压缩
-j 通过bzip2进行压缩/解压缩
-z 通过gzip进行压缩/解压缩

示例:tar -zxf hadoop-2.7.2.tar.gz hadoop-2.7.2
备注: pwd 显示当前目录
clear 清屏
ls -l 等价于 ll

Hadoop基础

Introduction

Hadoop运行模式

M/S架构

  • Master:主结点,运行NameNode、ResourceManager服务进程

  • Slave:从节点,运行DataNode,NodeManager服务进程

服务进程举例

Hadoop相关学习笔记_第2张图片
HDFS架构

运行模式

  • 单机模式

  • 伪分布模式

  • 分布式模式

安装

HDFS

默认副本:3个
块Block :128M一个,当一个Block挂掉了,会自动补充到3个
SecondaryNameNode(SNN): 冷备份

Hadoop相关学习笔记_第3张图片
image

FS Shell命令介绍

appendToFile
cat
cp
get
ls
mv
mkdir
rm

YARN

YARN的产生背景

MRv1

  • 编程模型 map阶段(输入数据解析,再输出到本地(I/O)) 和 reduce阶段

  • 数据处理引擎: MapTask 和 ReduceTask

  • 运行时环境: JobTracker(资源管理和作业控制)和TaskTracker接受JT命令并具体执行(

  • 局限性
    1)扩展性差:(JobTracker兼具资源管理及作业调度,容易负载过大)
    2)可靠性差:(Master/Slave架构中,Master的单点故障)主从架构,主结点故障
    3)资源利用率低:(slot资源分配模型:粗粒度的分配单位,实际用不到一个单位)
    4)无法支持多种计算平台:离线计算

MRv2

  • 编程模型、数据处理引擎,与MRv1是一样到

  • 运行时环境:YARN(资源管理)和ApplicationMaster(作业控制)(MRv2是运行与YARN之上计算的MapReduce计算框架)

YARN:支持多种计算框架的资源管理器

YARN基本架构

  • YARN的基本组成结构(主从架构)

1) ResourceManager: 全局的资源管理器,负责整个集群的资源管理、分配和调度
2)Scheduler(调度器):纯调度器、默认下是Fair Scheduler
3)NodeManager:对每一个Slave上的资源和任务做管理。包括
i. 定时的向 RM 汇报 HeartBeat(资源的使用情况和 Container 的运行状态)
ii.接受来自 AM 的启动/停止的请求
4)Container:动态的资源分配单位(相对于 MRv1 中 Slot)
5)ApplicationMaster(应用程序管理器):每个APP都会包含一个AM,
AM的功能包括:

  1. 向RM申请资源(用Container)
  2. 将任务做进一步的分配
  3. 与NM通信启动/体制任务
  4. 跟踪每一个Task的运行状态(包括Failed后的操作)

Hadoop相关学习笔记_第4张图片
YARN的基本组成结构

  • YARN的通信协议
  1. Client 与 RM 通信的协议, ApplicationClientProtocol,作业的提交、应用程序的状态
  2. AM 与 RM 通信协议, ApplicationMasterProtocol, 向 RM 注册 AM,申请资源
  3. AM 与 NM 通信协议, ContainerManagementProtocol,启动/停止 Container
  4. RM 与 NM 通信协议, ResourceTracker,汇报 Slave 节点的资源信息,包括 Container 的状态

Hadoop相关学习笔记_第5张图片
YARN的通信协议

YARN的工作流程:为不同的计算框架提供统一的资源管理

短作业:会结束的,例如数据处理

长作业:不会结束的,例如系统服务

资源:内存、磁盘、CPU、网络

具体步骤

  1. 提交任务

  2. RM 与 NM 通信, 申请Container运行AM

  3. AM启动成功后,向RM注册自己

  4. AM申请应用资源

  5. 与NM通信,申请各个作业需对应的Container

  6. 运行作业

  7. 作业结果返回

  8. 注销自己

Hadoop相关学习笔记_第6张图片
YARN的工作流程

你可能感兴趣的:(Hadoop相关学习笔记)