最近呢正好在学习有关大数据的内容,只要偏向于运维方向,正好公司呢有一套大数据平台,可以学习加实践,感觉蛮有用的,分享一下。
说到大数据呢,不管是不是互联网行业的,都对这个名词不陌生吧,毕竟每个刷抖音的都会发现抖音推的广告都是自己刚刚在京东或者淘宝刷过的,这个呢只是大数据应用的冰山一角。而大数据平台的稳定运行,就需要大数据运维工程师了。传统的系统运维,在如今的云时代,平台化时代,竞争力远不如从前,升职加薪也变得困难,而大数据运维,由于很多公司并没有专门的大数据运维,很多是开发兼职运维,所以市场对大数据运维工程师的需求还是比较大的。下面我就简单讲讲作为大数据运维工程师需要掌握的知识有哪些:
从haddop开始的故事,hadoop是apache下的一个开源项目,而就是hadoop的生态圈构成了大数据,大数据要处理问题在我看来包含海量的数据以及如何快速的查询到需要的数据,我们先来看第一个问题,海量的数据,于是HDFS出现了,hdfs可以实现分布式的文件存储,海量的数据在它面前,就可以划分为若干个数据块,而且它的备份机制也是很完善的,每个数据块上的文件都可以根据你的配置,备份多个,基于此海量的数据存储问题解决了。然后是查询检索的问题,mapreduce计算引擎,分布式的计算,在服务器数量越多的情况下,计算速度越快,基本的原理分为两步,先map多个机器同时读取某个需要的子段,然后传给reduce进行整合计算。
hadoop的生态圈如下图:
上图可知,hadoop的基础是hdfs和yarn,然后是中间的计算引擎,最上面是一些辅助的工具,而Oozie是负责协调各个组件之间任务的有序执行的,Ambari是统一的管理界面。hdfs已经介绍过了,hive和hbase的存储依赖于它,hdfs主要由namenode和datanode组成,分别是管理节点和数据节点。mapreduce的计算方式是离线的,也就是非实时计算,是第一代计算引擎,目前tez和spark第二代计算模型使用的场景更多,效率更高。我们继续看yarn,作为分布式的计算框架,能够将多种计算模型协调使用,也被称为资源管理器,可以管理spark、storm、mapreduce、flink等。spark是通过内存来计算的,传统的mapreduce的每个中间结果是会存储到硬盘上的,而spark则不然,它的整个计算过程是基于内存的因此效率较高。我们平时接触较多的数据库都是基于行存储的,hbase是基于列存储的数据库,它的最大优点是查询速度快,在大数据时代,尤为重要。继续往上走,hive数据仓库,它的HQl可以语言,可以将sql转化为mapreduce任务在hadoop上执行。sqoop能够传统数据库与hadoop数据之间实现传输。而ambari就是作为运维需要日常关注的界面了,统一部署,统一管理,统一监控,通过这个web界面就可以完成。
本文转自 知乎,原文链接:https://zhuanlan.zhihu.com/p/153520793,如需转载请自行联系原作者