大数据基础知识全集,大数据学习者收藏必备

现在市面上的大数据产品太多了,但它们还远远没达到像 IaaS 层那样的标准化程度,每个产品之间的差别也并不是特别明确清晰。很多企业在做大数据平台或大数据方案的时候,常常不知道该选用哪些产品来满足自己的需求。一般的做法是做调研、学习、搭环境、测试、做各种产品的集成,但通常这个过程会很漫长,成本也很高。

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

我们希望这些事情都交给云平台来做,云上所有的产品都可以一键部署、一键伸缩,不论是加节点还是减节点都能够在 UI 界面上直接操作。对于一个企业来说,真正的核心是自己的业务,而不需要花太多的时间搞明白到底该用哪些工具搭建、部署、管理大数据。 大数据产品的运维和管理,应该交给更专注、具有更大规模效益的大数据服务厂商,用户只需聚焦于自己的业务 。本文来自青云QingCloud 大数据平台架构师李威(Jordan)在青云QingCloud 深圳站实践课堂上的分享, 全文 3158 字,阅读时长约为 13 分钟 。

分享大数据资料分享学习QQ群:498856122零基础到实战,欢迎加入,邀请码【小战】

这里面分了很多层,最下面一层是大家熟知的 IaaS 层,包括标准的计算、存储、网络。网络里还有路由器、负载均衡等,存储里面有块存储、共享存储、对象存储等各种面向不同场景的存储服务,计算中有主机、容器、映象等计算资源。

IaaS 层上面是 PaaS,QingCloud 在几年前就开始做 PaaS 平台,有一个原则贯穿始终 —— QingCloud 的 PaaS 服务需要全部基于 IaaS,这样做的好处是可以将 QingCloudIaaS 层所有的技术创新,如资源调度、SDN 网络、性能优化,都透过IaaS 层被 PaaS 享用,QingCloud 的架构是一套统一的架构。

此外,QingCloud 在 PaaS 层之上还提供了一些高级的管理服务,如编排、定时器、监控告警等以及客户部署的各种类型服务(如 VPC、专属云、托管云)。

QingCloud 的大数据平台包含了完整的数据生命周期:负责数据传输的有 Kafka; 数据传进来之后可以存储在对象存储、HBase、MongoDB;负责从存储里拿出数据进行计算处理的有主流的实时处理工具 Storm、准实时处理工具 Spark、批处理工具 hadoop、Hive 等;还有一些在公有云上用量非常大的大数据组件:如 Elasticsearch ,性能和业务性很强,场景非常明确,只要做大数据、海量数据搜索都非常易用,以及 Redis、Memcached、ZooKeeper 等离用户比较近的大数据产品。

由于 QingCloud 是一家云服务商,所以提供的大数据平台是一个通用的服务,这与美团、小米、百度等互联网公司的大数据概念不太一样,它们的平台中会有很多与自己业务相关的东西。而 QingCloud 是在云上给所有的用户提供服务,所提供的这套大数据平台是一个通用的架构,每个组件之间的关系都非常灵活。QingCloud 主要提供主流的大数据组件和组件之间关系的管理。

大数据产品如何选型?

很多用户在面对大数据时都会遇到一个相同的问题,应该选用什么产品?其实这个问题没有一个百分之百确定的答案,下面我们将会从各个维度来解析当前主流的大数据产品:

实时流处理引擎主流的产品有 Storm、StormTrident、Spark Streaming、SAMZA、Flink 等,在选择它们时可以考虑的维度很多,比如说消息的传递机制保护(Guarantees)有 At-least-once(至少传输一次,它带来的结果是消息的重发)和Exactly-once(消息一定只处理一次,无论是在出错的情况还是其他的情况下)的区别;Latency(延迟)方面,如 Storm 是通过 Native 实现的流处理,延迟非常低。而 Spark Streaming 是通过 Micro-batching 实现的,它会把一段时间内的流组成小批量地处理,这样它的延迟就会高一些;吞吐量(Throughput)方面, Storm 的 Native 吞吐量没有那么高,SparkStreaming 的吞吐量就会很高。

一个企业的架构师或者方案的设计者在选型这些产品的时候,需要平衡自身流处理的业务到底在意什么维度,是在意吞吐量、性能,还是在意消息的处理机制。

HBase 和 Cassandra 是两个非常接近的产品,很多人对它们可能不是很熟。它们都是列存储,都可以处理海量的数据,读写性能都非常好。但它们也有很多维度可以对比,首先是一致性,HBase 是基于行的强一致性,Cassandra 则是最终一致性,如果在中间的某个点写入数据的时候去读取,有可能不会读到最新数据;

稳定性方面,HBase 有自己的 HMaster、Namenode HA,Cassandra 是 P2P 的架构,去中心化,没有单点故障;分区策略方面,HBase 是基于主键有序排列的范围分区,Cassandra 是一致性 Hash 排列,可自定义策略;可用性,HBase 是 Down 掉一台短暂不可读写,Cassandra 是 Down 掉可继续读写。

从这些对比可以明显地看出来, HBase 牺牲了可用性,注重强一致性,Cassandra有高可用性,没有强一致性。因此,在应用场景方面,HBase 由于有强一致性,它可以做一些 OLTP 类型、交易类型的工作。 Cassandra 因为并发读写的量比较大,性能比较强,但是数据不要求强一致性,不要求数据时时刻刻精准和统一,可以做监控数据的存储。

常用的数据仓库 Ad-hoc 和 OLAP 产品也非常多,在选择的时候可以从三个维度来衡量——数据量、灵活性和性能。

Hive:

基于 MapReduce,可以 处理海量数据,查询灵活,但性能较低;

Phoenix + HBase:

也可以处理海量数据,性能高,但查询只能通过Rowkey 查询,灵活性较差;

Elasticsearch:

可以用来做数据分析和日志分析等应用场景, 特点是查询灵活、性能高,但是它目前还支持不了海量数据, 只能支撑 TB 级数据。这个原因主要是和它的架构有关系,Elasticsearch 属于全链接的结构,所有节点之间都有通信,这应该是影响扩展性的一个原因;

Kylin:

百度、小米、美团等互联网企业都会用它来做数据仓库的分析, 它可以处理海量数据,性能也很高,但是灵活性较低 。由于 Kylin 采用的是预聚合查询,在数据仓库中需要把你要算的 cube 的维度和事实预先计算好,存到 Hbase 里面才能达到很高的性能,这导致它就丧失了灵活性;

学习大数据首先要了解大数据的学习路线,首先搞清楚先学什么,再学什么,大的学习框架知道了,剩下的就是一步一个脚印踏踏实实从最基础的开始学起。

这里给大家普及一下学习路线:hadoop生态圈——Strom——Spark——算法。

所以学习hadoop是第一步,在这里声明一下,在学习hadoop之前需要有java基础,因为hadoop底层全是用java写的;还需要系统层面学会使用linux的基本shell命令,因为你学习hadoop得首先会安装hadoop。Hadoop在大数据技术体系中的地位至关重要,Hadoop是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远。

下面谈谈一谈如何开始学习hadoop。

本文的思路是:以安装部署Apache Hadoop2.x版本为主线,来介绍Hadoop2.x的架构组成、各模块协同工作原理、技术细节。

安装不是目的,通过安装认识Hadoop才是目的。

第一部分:Linux环境安装

Hadoop是运行在Linux,虽然借助工具也可以运行在Windows上,但是建议还是运行在Linux系统上,第一部分介绍Linux环境的安装、配置、Java JDK安装等。

第二部分:Hadoop本地模式安装

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

Hadoop本地模式只是用于本地开发调试,或者快速安装体验Hadoop,这部分做简单的介绍。

第三部分:Hadoop伪分布式模式安装

学习Hadoop一般是在伪分布式模式下进行。这种模式是在一台机器上各个进程上运行Hadoop的各个模块,伪分布式的意思是虽然各个模块是在各个进程上分开运行的,但是只是运行在一个操作系统上的,并不是真正的分布式。

第四部分:完全分布式安装

完全分布式模式才是生产环境采用的模式,Hadoop运行在服务器集群上,生产环境一般都会做HA,以实现高可用。

第五部分:Hadoop HA安装

HA是指高可用,为了解决Hadoop单点故障问题,生产环境一般都做HA部署。这部分介绍了如何配置Hadoop2.x的高可用,并简单介绍了HA的工作原理。

安装过程中,会穿插简单介绍涉及到的知识。希望能对大家有所帮助。

环境搭建好后,然后尝试编写mapreduce进行打包运行。当你对hadoop应用编程层面没有疑问的时候,可以尝试去深入了解mapreduce的核心思想,尤其是map,shuffle,join,reduce等。

对于新手来说入门会遇到很多问题,这是正常的,不过遇到问题不可怕,只要想办法解决了自己的能力就会一点一点的提高,在这里预祝在大数据之路上求仙的伙伴们学有所

猜你喜欢

转载自blog.csdn.net/cryacq2798/article/details/88546360
今日推荐