TIP
本文主要是介绍 大数据-技术体系总结 。
- 大数据技术框架:
- Hadoop生态系统(1)
- Hadoop生态系统(2)
- Hadoop构成:Flume(非结构化数据收集):
- Hadoop构成:Sqoop(结构化数据收集)
- Hadoop构成:HDFS(分布式文件系统)
- Hadoop构成:YARN(资源管理系统)
- YARN是什么
- YARN的特点
- Hadoop构成:MapReduce(分布式计算框架)
- MapReduce特点
- Hadoop构成:Hive(基于MR的数据仓库)
- Spark生态系统:
- Flink生态系统:
- 典型企业级大数据架构:
- Hadoop发行版介绍(开源版)
- Hadoop集群搭建
- Hadoop全人工模式安装:常见错误
- Hadoop运行模式
- 自动化安装 Ambari 如下图
- 自动化安装 Cloudera Manager
- 【项目构建(包管理、编译、发布),maven】
- 【Hadoop与Spark版本】
- 参考文章
# 大数据技术框架:
# Hadoop生态系统(1)
# Hadoop生态系统(2)
# Hadoop构成:Flume(非结构化数据收集):
Cloudera开源的日志收集系统
用于非结构化数据收集
Flume特点
- 分布式
- 高可靠性
- 高容错性
- 易于定制与扩展
# 日志收集工具:flume
# Hadoop构成:Sqoop(结构化数据收集)
### **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
# Hadoop构成:MapReduce(分布式计算框架)
- 源自于Google的MapReduce论文
- 发表于2004年12月
- Hadoop MapReduce是Google MapReduce克隆版
# MapReduce特点
- 良好的扩展性
- 高容错性
- 适合PB级以上海量数据的离线处理
# 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则是涉及数据收集、存储、 资源管理和计算等的综合大数据解决方案。
# Flink生态系统:
# 典型企业级大数据架构:
# 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:如下图:
Hadoop发行版HDP:如下图
# Hadoop全人工模式安装:常见错误
# 1 防火墙未关闭(所有节点都要关系)
Connection Refused…
# 2 配置文件抄错
core-site.xml
yarn-site.xml
hdfs-site.xml
以及mapredsite.xml
# 3 多次格式化HDFS
每次格式化后,均会导致HDFS启动失败,
解决方案:清空HDFS的各个数据目录,然后重启HDFS
格式化HDFS是非常危险的,会导致所有数据丢失!!!
# Hadoop运行模式
# 本地模式:
一个节点,不会启动任何服务
# 伪分布式模式:
一个节点,所有服务均运行在该节点上
# 分布式模式:
多于一个节点
# 自动化安装 Ambari 如下图
# 自动化安装 Cloudera Manager
- Coudera提供的Hadoop管理系统
- 软件免费,但代码不开源
- 迄今为止最好用的Hadoop管理系统
- Hadoop自动化安装、部署和配置
- Hadoop管理(一站式管理各种服务)
- Hadoop监控与报警
- Hadoop问题诊断
# 自动化安装 Cloudera Manager(主界面) 如下图:
# 自动化安装 Cloudera Manager(节点管理) 如下图:
# 自动化安装 Cloudera Manager(配置管理) 如下图:
# 自动化安装 Cloudera Manager(搭建集群) 如下图:
# 自动化安装 Cloudera Manager(审计) 如下图:
# 学习大数据技术栈:
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