前言:近几年大数据应用越来越火,各行各业都在利用大数据为自己服务,现在出去,如果说自己公司没用上大数据或者不知道点大数据的东西,感觉都不是IT的,那么今天小编就带大家从基础认识认识大数据。
1 hadoop简介
目前来看大数据应用当然有很多,hadoop,spark,mapR,EMC等一堆技术。今天我们来说说hadoop,
简单来讲Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。
作用:储存数据,查询数据,综合分析
大数据特点:大量,多样,实时,不确定
2 hadoop组成
Hadoop:Java编写的软件框架,以支持数据密集型分布式应用
ZooKeeper:高可靠性分布式协调系统
MapReduce:针对大数据的灵活的并行数据处理框架
HDFS:Hadoop分布式文件系统
Oozie:负责MapReduce作业调度
Hbase:Key-value数据库
Hive:构建在MapRudece之上的数据仓库软件包
Pig:Pig是架构在Hadoop之上的高级数据处理层。Pig Latin语言为编程人员提供了更直观的定制数据流的方法。
3 基础模型
基础模型
4 应用场合
※庞大的数据量
※较少或没有数据依赖
※包含结构化和非结构化数据
※适合大规模的并行处理
5 特点
复杂的版本管理,版本管理比较混乱,各种版本层出不穷,在使用的时候难以选择一个恰当的版本;
复杂的生态环境,在Hadoop生态圈中,服务组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等,经常会浪费大量的时间去编译组件,解决版本冲突问题,致使开发人员无法将更多的精力放在业务处理上。
复杂的集群部署、安装、配置。选用社区版Hadoop搭建集群需要编写大量的配置文件,手动分发到每一台节点上,容易出错,效率低下;
复杂的集群运维,对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,对维护人员要求较高,运维难度较大;
6 资源分配
1.0时代:
hadoop1.0 内核主要由HDFS和Mapreduce组成,采用槽位资源(solt)将多维度物理资源进行等分,并进行静态配置,实现各任务固定调用独自的资源槽位。比如:定义一个solt为2G内存,1个CPU
缺点:静态配置,无法动态划分;资源无法共享,资源浪费;资源划分粒度过大不够精细;没有有效的资源隔离机制(采用JVM的资源隔离)。
2.0时代:
hadoop2.0 内核主要由HDFS、Mapreduce和YARN组成,其中YARN是一个资源管理系统,负责集群的资源管理和调度。
其作用在于:已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击根据任务资源需求为其分配多维度资源,包含,CPU、内存、网络、磁盘等。由任务主动向调度器请求资源,调度器根据任务实际需求进行精确划分资源。引入基于cgroups的轻量级资源隔离方案。
缺点:
资源总量仍是静态;
CPU是通过引入的“虚拟CPU”设置的,而虚拟CPU的概念是模糊的,有歧义的配置;
无法支持以组为单位的资源申请;
调度语义不完善;
总的来说目前常用的就是那几种,但是适合我们的就需要各位结合实际来看,下次我们会继续介绍相关的基础知识概念,以及常见的大数据技术的优缺点对比,欢迎大家关注。
来源:CSDN
作者:qunqun8889
链接:https://blog.csdn.net/qunqun8889/article/details/103681019