跳至主要內容

大数据-技术体系总结

张启忻大约 7 分钟

大数据-技术体系总结

提示

本文主要是介绍 大数据-技术体系总结 。

大数据技术框架

wxmp
wxmp

Hadoop生态系统 (1)

wxmp
wxmp

Hadoop生态系统 (2)

wxmp
wxmp

Hadoop构成:Flume(非结构化数据收集)

Cloudera开源的日志收集系统

用于非结构化数据收集

Flume特点

  • 分布式
  • 高可靠性
  • 高容错性
  • 易于定制与扩展

日志收集工具:flume

wxmp
wxmp

Hadoop构成:Sqoop(结构化数据收集)

wxmp ### Sqoop:SQL-to-Hadoop

连接传统关系型数据库和Hadoop 的桥梁

把关系型数据库的数据导入到Hadoop 系统( 如HDFS,HBase 和Hive) 中;

把数据从Hadoop 系统里抽取并导出到关系型数据库里。

利用MapReduce加快数据传输速度

批处理方式进行数据传输

Hadoop构成:HDFS(分布式文件系统)

源自于Google的GFS论文,发表于2003年10月

HDFS是GFS克隆版

HDFS特点:

  • 良好的扩展性。
  • 高容错性。
  • 适合PB级以上海量数据的存储。

基本原理

  • 将文件切分成等大的数据块,存储到多台机器上
  • 将数据切分、容错、负载均衡等功能透明化
  • 可将HDFS看成一个容量巨大、具有高容错性的磁盘

应用场景

  • 海量数据的可靠性存储
  • 数据归档

Hadoop构成:YARN(资源管理系统)

YARN是什么

  • Hadoop 2.0新增系统
  • 负责集群的资源管理和调度
  • 使得多种计算框架可以运行在一个集群中

YARN的特点

  • 良好的扩展性、高可用性
  • 对多种类型的应用程序进行统一管理和调度
  • 自带了多种多用户调度器,适合共享集群环境

如下图:图1,图2 wxmpwxmp

Hadoop构成:MapReduce(分布式计算框架)

  • 源自于Google的MapReduce论文
  • 发表于2004年12月
  • Hadoop MapReduce是Google MapReduce克隆版

MapReduce特点

  • 良好的扩展性
  • 高容错性
  • 适合PB级以上海量数据的离线处理
wxmp
wxmp

Hadoop构成:Hive(基于MR的数据仓库)

由facebook开源,最初用于解决海量结构化的日志数据统计问题;

ETL(Extraction-Transformation-Loading)工具

构建在Hadoop之上的数据仓库;

数据计算使用MR,数据存储使用HDFS

Hive 定义了一种类SQL 查询语言——HQL;

类似SQL,但不完全相同

通常用于进行离线数据处理(采用MapReduce);

可认为是一个HQL <—>MR的语言翻译器。

日志分析

统计网站一个时间段内的pv、uv

多维度数据分析

大部分互联网公司使用Hive进行日志分析,包括百度、淘宝等

其他场景

海量结构化数据离线分析

低成本进行数据分析(不直接编写MR)

Spark生态系统

spark主要是面向计算的生态系统,而hadoop则是涉及数据收集、存储、 资源管理和计算等的综合大数据解决方案。 wxmp

Flink生态系统

wxmp
wxmp

典型企业级大数据架构

wxmp
wxmp

Hadoop发行版介绍(开源版)

Apache Hadoop

推荐使用最新的2.x.x版本,比如2.7.3

下载地址:http://hadoop.apache.org/releases.html

SVN:http://svn.apache.org/repos/asf/hadoop/common/branches/

CDH(Cloudera Distributed Hadoop)

推荐使用最新的CDH5版本,比如CDH5.8.0

下载地址: http://archive.cloudera.com/cdh5/cdh/

HDP(Hortonworks Data Platform

推荐使用最新的HDP 2.x版本,比如HDP 2.6版本

下载地址:http://zh.hortonworks.com/hdp/downloads/

Hadoop版本选择

  • 不同发行版兼容性
  • 架构、部署和使用方法一致,不同之处仅在若干内部实现。
  • 建议选择公司发行版,比如CDH或HDP
  • 类比原生linux与Ubuntu/Red Hat关系
  • 更易维护和升级
  • 经过集成测试,不会面临版本兼容问题

Hadoop集群搭建

全人工搭建

自动化安装软件:Cloudera Manager,Ambari

Hadoop发行版CDH:如下图: wxmp

Hadoop发行版HDP:如下图 wxmp

Hadoop全人工模式安装:常见错误

1 防火墙未关闭(所有节点都要关系)

Connection Refused…

2 配置文件抄错

core-site.xml

yarn-site.xml

hdfs-site.xml

以及mapredsite.xml

3 多次格式化HDFS

每次格式化后,均会导致HDFS启动失败,

解决方案:清空HDFS的各个数据目录,然后重启HDFS

格式化HDFS是非常危险的,会导致所有数据丢失!!!

Hadoop运行模式

本地模式:

一个节点,不会启动任何服务

伪分布式模式:

一个节点,所有服务均运行在该节点上

分布式模式:

多于一个节点

自动化安装 Ambari 如下图

wxmp
wxmp

自动化安装 Cloudera Manager

  • Coudera提供的Hadoop管理系统
  • 软件免费,但代码不开源
  • 迄今为止最好用的Hadoop管理系统
  • Hadoop自动化安装、部署和配置
  • Hadoop管理(一站式管理各种服务)
  • Hadoop监控与报警
  • Hadoop问题诊断

自动化安装 Cloudera Manager(主界面) 如下图

wxmp
wxmp

自动化安装 Cloudera Manager(节点管理) 如下图

wxmp
wxmp

自动化安装 Cloudera Manager(配置管理) 如下图

wxmp
wxmp

自动化安装 Cloudera Manager(搭建集群) 如下图

wxmp
wxmp

自动化安装 Cloudera Manager(审计) 如下图

wxmp
wxmp

学习大数据技术栈

Linux虚拟机

Linux教程 http://www.92csz.com/study/linux/

集成开发环境: Eclipse,intellij IDEA

【项目构建(包管理、编译、发布),maven】

maven教程: https://yq.aliyun.com/articles/28591 http://www.yiibai.com/maven/ http://wenku.baidu.com/link?url=cceOGhtpf7xHs_KFbI2f_uh0B7uo915pSZhqbO2ymD2ouJ7qhcOZmlc1W9xB6VxHnqu9VPD_M9HloZ_Pt- wuL3uTJ6cfKCxuJm0Z_FSxCm**

【Hadoop与Spark版本】

Scala 2.11.X(不能是2.10或2.12),Java 1.8

Hadoop 2.7.3 http://hadoop.apache.org/releases.html

Hive 2.1.1 http://hive.apache.org/downloads.html

Hbase 1.2.4 http://www.apache.org/dyn/closer.cgi/hbase/

Flume 1.7.0 http://flume.apache.org/download.html

Sqoop1.99.7 http://mirror.cc.columbia.edu/pub/software/apache/sqoop/1.99.7/sqoop-1.99.7-binhadoop200.tar.gz

Presto 0.166 https://prestodb.io/docs/current/installation/deployment.html

Spark 2.1.0 http://spark.apache.org/downloads.html

Kafka 0.9.0 http://kafka.apache.org/downloads

Zookeeper 3.4.9 http://zookeeper.apache.org/releases.html#download

参考文章

  • https://blog.csdn.net/zejunwzj/article/details/86747736