大数据学习常用组件及作用
Posted 星空逐梦路人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习常用组件及作用相关的知识,希望对你有一定的参考价值。
大数据学习常用组件及作用
前言:网上找了大数据学习相关的资料用作学习和复习使用,基本上没有全面的复习资料,特此自己基于理解,浅显的罗列大数据相关组件作用及使用方法(含实时和离线数据采集),用作复习使用;点赞过百,更新各组件详细讲解及使用方式,不足之处还望指正,共同进步。
Linux
简称
操作系统
作用
程序执行的环境
重点知识点
文件/应用的增删改查&免秘钥登录&shell编程
实现方式
nginx
简称
负载均衡&反向代理服务器
作用
构建服务器集群,解决单节点服务器过载问题
重点知识点
基本概念&Nginx使用&负载策略
实现方式
nginx.conf中server内定义监听的端口和域名,upstream定义拦截后分发的服务器集群
zookeeper
简称
分布式协调服务
作用
基于分布式数据一致性和监听、存储机制,常用与节点监控/选举/元数据保存
重点知识点
基本概念&存储模型&监听机制
实现方式
一主多从,主节点数据写入,从节点数据读取;基于Paxos,从节点接收的事务信息,将转发至主节点操作
Hadoop-HDFS
简称
分布式文件管理系统
作用
文件分块存储并具有备份恢复机制
重点知识点
架构中节点功能与 作用&数据写入流程
实现方式
集群启动后,web界面(NN可视化界面)提供数据传输接口,传输完成。数据存储在DN中并产生多个备份,可多节点同时计算;也可在命令页面使用指令上传文件
Hadoop-MapReduce
简称
分布式离线计算框架
作用
基于HDFS基础上对文件进行计算处理
重点知识点
MR计算流程&计算节点 作用&集成JAVAapi
实现方式
JAVA调用MR程序对HDFS数据块进行并行计算,定义Map&Reduce的实现类编写计算代码,启动类定义启动配置,结果可输出至HDFS中;
Hive
简称
数仓工具
作用
将SQL转换为MR的任务进行运算,使用HDFS数据源,类似MR的封装客户端
重点知识点
架构概念&数据库基本操作&分区/分桶表&抽样方式&Hive函数与优化&数据倾斜
实现方式
创建文本的表结构映射并加载数据,数据存储在HDFS中;登录hive客户端直接查询SQL即可,默认调用MR进行计算,得出结果
Hbase
简称
列式存储的非关系型分布式数据库
作用
数据源存放在HDFS中,基于索引实现海量数据快速查询,一般用于日志或订单查询,
重点知识点
Hbase数据/架构模型&数据库操作&数据读写流程&MemStore数据刷写&StoreFile数据合并&Region数据切分&Hbase优化&Hive和Hbase的整合
实现方式
使用Hbase
shell和JAVA进行访问,操作模式类似SQL
Flume
简称
海量日志收集系统
作用
常用实时计算的日志收集,并指定存储模式
重点知识点
核心组件 作用和使用
实现方式
配置.conf文件,每台机器有一个Agent单元,包含source(定义监听端口/文件/控制台实时信息)、Channel(数据缓冲区)、Sink(接收数据后,设置传递模式),一个Agent包含一或多个Source和sink;使用命令即可启动
Ganglia
简称
进程监控工具
作用
监控每个节点资源,用来监控系统性能比如CPU、mem、硬盘使用率,IO负载,网络流量等
重点知识点
学会使用即可
实现方式
Gmond安装在每个节点中,监控资源;Gmetad负责汇总Gmond发过来的资源信息;Ganglia-web将汇总后的信息展示在前台
Sqoop
简称
HDFS-数据库传输框架
作用
可以将数据库中的数据导入到HDFS/HIVE/HBASE中,也可以将HDFS/HIVE/HBASE数据导出到数据库中
重点知识点
学会使用即可
实现方式
基于MR中的map进行作业,命令页面直接输入指令即可启动程序
DataX
简称
数据传输框架
作用
可以实现任意数据源类型的数据同步工作(sqoop升级版)
重点知识点
学会使用即可
实现方式
配置josn文件,定义导入导出信息,调用python
启动json即可(提供web页面)
Azkaban
简称
任务调度工具
作用
与定时任务不同,可以对任务进行时间控制和顺序控制
重点知识点
学会使用即可
实现方式
启动集群,开启控制节点和前端页面,登录后将job上传即可使用
Redis
简称
非关系型分布式数据库
作用
实现数据的KV存储,常用于做缓存
重点知识点
缓存面试题&SQL&持久化机制&哨兵机制&全量/增量同步&一致性hash与数据切片
实现方式
启动集群后,通过客户端访问主节点即可操作,从节点只提供查询
ElasticSearch
简称
分布式多文件搜索引擎
作用
提供海量文档快速检索的功能,使用倒排索引
重点知识点
了解即可
实现方式
自定义搜索固定词,可以实现秒查询
Kafka
简称
消息中间件
作用
提供数据临时缓存的功能,解耦削峰;常用于生产者消费者模式
重点知识点
系统架构&数据存储流程&生产者消费者数据安全
实现方式
通过生产者指令接听端口发送的信息,通过消费者指令接收端口的信息,有WEB界面
Storm
简称
分布式实时处理框架,实时版Hadoop
作用
实现实时监控数据更新,实时计算,逐条计算
重点知识点
物理/计算架构&数据分发策略&消息完整性&通信机制
实现方式
JAVAAPI调用,定义bolt/spout实现类定义数据源和计算逻辑,定义启动类进行启动配置
ClickHouse
简称
列式存储的数据库管理系统,也是数据库
作用
允许实时写入实时分析,但不支持完整事务
重点知识点
系统架构&数据库SQL&MergrTree引擎&MergrTreeFamily&表引擎&数据查询方式
实现方式
支持可视化工具,建表时标注引擎,基本语句与SQL一致,列式查询
Scala
简称
基于JAVA开发的语言
作用
可以优化Spark代码,使用起来比较方便
重点知识点
基础语法&Scala函数&集合&偏函数&隐式转换&actor model
实现方式
安装后即可编写语言
SparkCore
简称
Spark核心
作用
计算离线数据,速度远超MR
重点知识点
系统架构&分区&RDD&算子&任务提交流程&宽窄依赖&资源调度&广播变量与累加器
实现方式
编辑JAVA代码,连接数据源进行计算
SparkSQL
简称
SparkCore的封装,SQL操作Spark
作用
计算离线数据,RDD结果集可以使用SQL处理
重点知识点
发展历史&Dateset与DateFrame&常用的聚合函数
实现方式
定义DateSet数据映射,将RDD计算内存的结果映射到表中,使用SQL进行查询
SparkStreaming
简称
流式处理框架
作用
实时接收数据,批处理数据,偏于实时1
重点知识点
概念&与MR的区别&数据反压机制&事务机制
实现方式
每个时间间隔接收一批数据,生成Dstream流,使用RDD方法进行计算
Kylin
简称
分布式预处理框架
作用
将需要查询的聚合结果按照维度提前查询好,便于缩短查询时间
重点知识点
数仓回顾&Kylin简介&图形化界面使用&计算流程&Kylin访问方式&Cube的增量与优化
实现方式
基于WEB界面操作,提前查询完数据
以上是关于大数据学习常用组件及作用的主要内容,如果未能解决你的问题,请参考以下文章