大数据基础平台实施及运维

大数据基础平台实施及运维

为什么使用大数据技术

  • 海量数据需要处理
  • 数据分析实时性越来越强
  • 数据结果的应用越来越广泛

  • 人工处理起来非常困难

什么是大数据

  • 收集、整理、处理大容量数据集,并从中获得结果的技术总称

  • 大数据应用领域

  • 广告、电信、金融、安全、能源生物、社交游戏、电商零售

大数据处理框架

仅批处理框架

对整个数据集进行处理

  • Apache Haddoop
    一种以MapReduce作为默认处理引擎批处理框架

仅流处理框架

随时处理进入系统的数据,无数据边界

  • Apache Storm
  • Apache Samza

混合处理框架

同时批处理和流处理

  • Apache Spark
  • Apache Flink

hadoop历史

  • 2002年 Doug Cutting 开发了 Nutch

  • 2004年 Doug Cutting 实现了分布式文件存储系统名为NDFS

  • 2005年 Doug Cutting 实现了MapReduce功能

  • 2006年 将NDFS与MapReduce升级命名为Hadoop

Hadoop生态圈

核心项目

  • HDFS
  • MapReduce
  • YARN
  • Common
  • Ozone

相关项目

  • Ambari
  • Avro
  • Cassandra
  • Chukwa
  • HBase
  • Pig
  • Spark
  • Hive

Hadoop核心项目介绍

分布式文件系统HDFS

  • 特点:
    • 高度容错性系统
    • 支持大数据文件
    • 支持一次写入,多次读写,顺序读取
    • 适合在廉价的机器上,支持硬件故障
    • 提供高吞吐量数据访问
    • 适合有超大数据集的应用程序
  • 关键词:
    • Block–Hadoop 2.x 默认大小128M
    • NameNode–保存元数据、接收用户请求、管理文件与Block,Block与DataNode之间的关系
    • DataNode–存储Block块文件,具体数据

MapReduce

  • Map:一种分配计算任务的方法
    ​ 生成一些中间文件作为Reduce任务的输入数据
  • Reduce:一种从Map结果集获得最终数据的方法,并保存在HDFS文件系统中

YARN–另一种资源协调者

  • ResourceManager–负责对各个NodeManager上的资源进行统一管理和调度
    • ApplicationsManager
    • ResourceScheduler
  • NodeManager–在各个计算节点运行,用于接收RM中ApplicationManager的计算任务、启动/停止任务、和RM中Scheduler汇报并协商自愿、监控并汇报节点的情况
    • ApplicationManager
    • Map Task
    • Reduce Task
    • Container–是一组资源描述的集合,或资源分组描述。例如组1包含:CPU 0.2 Mem 100M

Hadoop部署

本地模式

  • 伪分布式
  • 完全分布式

部署区分依据

  • 是否启动多个进程,多个进程运行在相同或不同的节点上

本地部署(单机部署)

  • 只运行在本地
  • 是Hadoop默认部署模式
  • 不启动进程
  • 配置文件为空
  • 使用本地文件系统,不使用HDFS文件系统
  • 主要用于开发调试MapReduce程序的应用逻辑
  • 安装软件直接使用

伪分布式部署

  • 用于模拟小规模集群
  • 允许代码调试
  • 以守护进程方式运行
  • 使用HDFS是文件系统
  • 部署
    • 安装软件
    • 修改配置文件
    • 格式化HDFS
    • 启动角色(NameNode、DataNode)
    • HDFS测试文件操作

完全分布式部署

  • 利用多台Linux主机进行部署Hadoop,对Linux机器集群进行规划,是的Hadoop各个模块分别部署在不同的机器上

HA+完全分布式部署

  • 切换实现方式:对NameNode进行一个抽象:NameService —有两个NameNode,一个Active,一个Standby状态;通过Zookeeper记性协调选举,确保只有一个活跃的NameNode
    • ZKFC
  • HA数据共享方法
    NameNode维护两个文件
    • fsimage
      • 保存了最新的元数据检查点
    • editlog
      • HDFS客户端执行所有的写操作都会记录在editlog中
  • Active NameNode与Standby NameNode之间通过JournalNode相互通信,相当于NFS共享文件系统,Active NameNode 王里写editlog数据,Standby在从里面读取数据进行同步

Ambari自动部署Hadoop集群

  • 作用
    • 提供Hadoopjiqun
    • 管理Hadoop集群
    • 监控Hadoop集群
  • 组成
    • Ambari-server
    • Ambari-agent

扩展:cloudera

你可能感兴趣的:(大数据基础平台实施及运维)