2019大数据学习框架及指南

Hadoop生态圈 
 
一 ,采集,数据从哪里来?主要包括flume等;

一 ,存储,海量的数据怎样有效的存储?主要包括hdfs、Kafka;

二,计算,海量的数据怎样快速计算?主要包括MapReduce、Spark、storm等;

三,查询,海量数据怎样快速查询?主要为Nosql和Olap,Nosql主要包括Hbase、 Cassandra 等,其中olap包括kylin、impla等,其中Nosql主要解决随机查询,Olap技术主要解决关联查询;

四,挖掘,海量数据怎样挖掘出隐藏的知识?也就是当前火热的机器学习和深度学习等技术,包括TensorFlow、mahout、spark等;

互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群: 740041381就可以找到组织学习  欢迎进阶中和进想深入大数据的小伙伴加入

Apache Ambari是一种基于Web的工具,界面友好,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop等,可用于生产环境。 

这里写图片描述
学习路线: 

这里写图片描述
1、Hadoop是一个能够对大量数据进行分布式处理的软件框架,他以一种可靠、高效、可伸缩的方式进行数据处理。具有高可靠性、高扩展性、高效性、高容错性、低成本的特点。 
 这里写图片描述
2、Hadoop hdfs–分布式文件系统 
将文件分成多个block,分散存储到不同的节点上,并提供多副本,保证数据容错性能。

主从结构

主节点,可以有2个: namenode
从节点,有很多个: datanode
namenode负责:管理整个集群。维护文件系统的目录结构

datanode负责:存储文件 
这里写图片描述 
3、Hadoop yarn–资源的调度和管理平台 
集中管理集群的整个计算资源,以container的形式进行资源分配。

主从结构

主节点,可以有2个: ResourceManager
从节点,有很多个: NodeManager
ResourceManager负责:集群资源的分配与调度MapReduce、Spark等应用,必须实现
NodeManager负责:单节点资源的管理 
 这里写图片描述
4、Hadoop mapreduce 
由两个阶段组成:Map和Reduce,Map阶段每个节点处理自己节点的数据。 
Reduce阶段不同节点间进行数据交换,并进行聚合计算。 

这里写图片描述

5、zookeeper 
 这里写图片描述
(1) ZooKeeper是什么? 
ZooKeeper是 Hadoop 的分布式协调服务,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

(2) ZooKeeper提供了什么?

文件系统:每个子目录项如 NameService 都被称作为znode,和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。 
有四种类型的znode:

PERSISTENT-持久化目录节点 
客户端与zookeeper断开连接后,该节点依旧存在

PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 
客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

EPHEMERAL-临时目录节点 
客户端与zookeeper断开连接后,该节点被删除

EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点 
客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

通知机制:客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。

 

(3) Zookeeper做了什么?

命名服务
配置管理
集群管理
分布式锁
队列管理
6、hive 
基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

底层数据存储在哪? hdfs 
元数据存储在哪? Mysql、derby等数据库 
如何执行? Hive的解释器、编译器、优化器完成 HQL 语句从词法分析、语法分析、编译、优化,生成MapReduce 任务在hadoop上运行 
用户接口主要有三个:CLI,JDBC/ODBC和 WebUI

CLI,即Shell命令行
JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似
WebGUI是通过浏览器访问 Hive
7、hbase 
HBase是一个分布式的、面向列的开源数据库 
高可靠性、高性能、面向列、可伸缩,底层数据存在hdfs中 
处理非常庞大的表, 适合处理1亿条或者10亿条以及以上条记录或者有百万个列的数据库。 
这里写图片描述 
8、flume 
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。 
 这里写图片描述
flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去比如说送到图中的HDFS,简单来说flume就是收集日志的。同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

这里写图片描述

flume的架构主要有一下几个核心概念: 
Event:一个数据单元,带有一个可选的消息头 
Flow:Event从源点到达目的点的迁移的抽象 
Client:操作位于源点处的Event,将其发送到Flume Agent 
Agent:一个独立的Flume进程,包含组件Source、Channel、Sink 
Source:用来消费传递到该组件的Event 
Channel:中转Event的一个临时存储,保存有Source组件传递过来的Event 
Sink:从Channel中读取并移除Event,将Event传递到Flow Pipeline中的下一个Agent(如果有的话)

flume 常用结构 

这里写图片描述
 这里写图片描述
 
这里写图片描述 
9、Spark 
Apache Spark™ 是一个通用的快速的大数据处理引擎.

速度快: 
号称基于内存的运算速度比mapreduce快100倍以上, 
基于磁盘的运算速度比mapreduce快10倍以上

使用简单: 
可以使用scala,java,python,R

通用性强: 
支持批处理spark core,流式处理spark streaming,spark sql, machine learning,GraphX

随处运行 
Spark具有很强的适应性,能够读取HDFS、HBase、 Cassandra、 S3和Techyon为持久层读写原生数据,能够以Mesos、YARN和自身携带的Standalone作为资源管理器调度job,来完成Spark应用程序的计算。 

这里写图片描述

(1) Spark 基本原理(Map reduce思想) 

这里写图片描述

每个节点的map任务读取本地数据,按照key进行分类,reduce任务拉取相同key的数据,并进行统计聚合。

(2) Spark 运行模式

Local 模式 
是用单机的多个线程来模拟Spark分布式计算,通常用来验证开发出来的应用程序逻辑上有没有问题。
Standalone 模式 
Spark自己提供独立的集群,主节点master,从节点worker,使用前需要启动spark集群,不受Hadoop yarn对资源的约束。
yarn 模式 
需要 Hadoop的yarn来分配资源,受yarn的约束,适用于生产环境。
10、kafka 
Kafka 是一个高吞吐量的、持久性的、分布式发布订阅消息系统。 
这里写图片描述 
典型的生产消费模式,生产者向主题中发送消息消费者订阅主题消费消息。 
应用场景:实时性较高的场合,比如流式处理,经典用法kafka+storm、kafka+sparkStreaming

11、Storm 
Storm可以实现高频数据和大规模数据的实时处理不同于spark streaming 的微批处理,storm可以根据进来的每一条数据进行实时处理,实时性能非常高。 

这里写图片描述
Nimbus,主节点,负责在集群里面发送代码,分配工作给机器,并且监控状态。全局只有一个。
Zookeeper是Storm重点依赖的外部资源。负责Nimbus和多个Supervisor之间的所有协调工作。
Supervisor,从节点,会监听分配给它那台机器的工作,根据需要启动/关闭工作进程Worker。
Worker,工作进程,它会启动很多线程来运行我们的任务。

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值