一、大数据基础

1、大数据概念

大数据主要解决海量数据的采集、存储和分析计算问题。

2、大数据存储单位

按顺序给出数据存储单位:bit、Byte、KB、TB、PB、EB、ZB、YB、BB、NB、DB

3、大数据特点

大数据的特点:

  • 大量
  • 高速
  • 多样
  • 价值密度低

4、大数据的影响

在思维方式方面,大数据完全颠覆了传统的思维方式:

  • 全样而非抽样:过去因为计算机资源不足经常选择抽样调查,现在数据的存储和处理不是限制我们的最大因素了。
  • 效率而非精确:过去是抽样的数据方式,因此对于和真实数据之间的差距有误差的概念,所有在分析时,如何降低误差,就衍生处理一个精确的概念,但是现在是全样调查,追求的是效率
  • 相关而非因果:过去数据是用来推断未来趋势或者分析事件源头的。但是现在人们更关心的是事物的相关性。例如个性化的商品推荐会根据你的购物习惯推荐相关商品。

5、大数据计算模式及其代表技术

大数据计算模式解决问题代表产品
批处理计算针对大规模数据的批量处理MapReduce、spark等
流计算针对流数据的实时计算Flink,Flume
图计算针对大规模图结构数据的处理GraphX
查询分析计算大规模数据的存储管理和查询分析Hive,Dremel

二、Hadoop概述

1、Hadoop概述

  • Hadoop是什么:Hadoop是一个分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题,广义上来说,Hadoop通常是指Hadoop生态圈。
  • Hadoop的作用:用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储
  • Hadoop的框架最核心的设计就是HDFS和MapReduce。hdfs为海量的数据提供了存储,MapReduce为海量数据提供了计算

2、Hadoop生态系统简介

(1)Hadoop发展

  • 1.0版本:HDFS+MapReduce
  • 2.0版本:引入了yarn组件
  • 3.0版本:组成上没什么变化

(2)HDFS架构

  • namenode:存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的Datanode等。
  • Datanode:在本地文件系统存储文件块数据,以及块数据的校验和。
  • Secondary namenode:每隔一段时间对namenode的元数据备份

(3)MapReduce计算模型

MapReduce是一种变成模型,利用函数式变成的思想,将数据集处理的过程分为Map和Reduce阶段,适合分布式计算。

(4)Yarn架构

  • Resourcemanager:管理整个集群资源
  • Nodemanager:管理单个节点服务器资源
  • ApplicationMaster:管理单个任务运行
  • Container:日期,相当于一台独立的服务器,封装了任务运行所需要的资源

(5)Hadoop的优势

  • 高可靠:维护多个数据副本
  • 高拓展:拓展节点
  • 高有效:并行运行
  • 高容错:能自动将失败的任务重新分配

(6)Hadoop和传统关系数据库的关系

  • 数据大小:传统的GB级别,MapReduce可以处理PB级别
  • 访问方式:传统支持交互和批处理,MapReduce只支持批处理
  • 更新:传统支持多次读和写,但是MapReduce只是一次写、多次读
  • 收缩性:传统非线性拓展,MapReduce线性拓展

三、Hadoop的搭建

1、重要目录

(1)bin目录:存放对hadoop相关服务进行操作的脚本

(2)etc目录:hadoop配置文件目录

(3)lib目录:存放hadoop的本地库(数据压缩解压等功能)

(4)sbin目录:启动/停止Hadoop相关服务的脚本

(5)share目录:存放Hadoop的依赖jar包

2、三种运行模式

(1)本地:单机运行

(2)伪分布式:一台机器模拟分布式环境,生产不可用

(3)完全分布式:多台机器组成的分布式环境,生产可用

3、配置文件

  • hdfs-site.xml:配置了和hdfs相关的配置,比如数据块大小、副本个数,namenode和Secondarynamenode的web端访问地址
  • core-site.xml:指定namenode的地址,数据存储目录,hdfs网页登录静态用户
  • yarn-site.xml:指定MR走shuffle,以及Resourcemanager的地址
  • mapred-site.xml:配置历史服务器和指定MapReduce程序运行在yarn上

4、一些容易忘记的操作

# 给hadoop用户目录权限
chown hadoop:hadoop /opt/module

# 添加sudo
vi /etc/sudoers
root ALL=(ALL)ALL
hadoop ALL=(ALL)ALL

# 卸载原有jdk

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

# 配置静态ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33

OWSER_ONLY=no
BOOTPROTO=static

NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.10.100
PREFIX=24
GEATEWAY=192.168.10.2 
DNS1=192.168.10.2

5、历史服务器和日志聚集

  • 历史服务器:方便查看历史运行情况
  • 日志聚集:应用运行完之后,将程序运行日志信息上传到HDFS系统上,可以查看程序运行情况,方便调试

更多推荐