001潜入大数据Hadoop框架的世界

待我君临天下,结发与蕊可好。@夏瑾墨

我的大数据初步学习路线图

  1. 了解云计算技术
  2. 学习Hadoop基础概念
  3. hadoop HDFS文件系统的特征
  4. 什么是Map/Reduce
  5. Mapreduce 整个工作机制图
  6. Hadoop mapper类的阅读
  7. Mapreduce shuffle和排序
  8. java处理海量数据
  9. 运用python数据分析

课题:云计算和大数据技术与应用
讲座人:杜宇健 (清华大学自动化系博士,中国移动研究院,技术总监)
昨天下午去听讲座,我坐在第二排,会上到了学生提问环节,作为全场唯一一个提问的学生,我问了一些很基础很细节的问题:
“杜老师您好!对于大数据初学者,我现在只懂得在ClouderaManager操作,用web 界面建立集群,用用wordcount,统计下单词这些。您有哪些具体的学习建议能让初学者更好地入门?”

“进行服务器的部署这些只是基本的工作,会看看数据图表还不够,最重要的是你要懂得它的运行机制,这是你要学习的地方,”会下还和杜老师问了”研究大数据应该用什么开发语言?“python,当然是用python!”“另外linux这些要多学学。”

001潜入大数据Hadoop框架的世界_第1张图片
#云计算理念和典型技术形态#
云是网络、互联网的一种比喻说法,云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
云计算支持用户在任意位置、使用各种终端获取应用服务。
#Hadoop的基础概念#
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Google 论文老三篇 GFS, MapReduce, BigTable,引发了Hadoop的出现发展,HDFS就是Google GFS文件系统的开源实现。
Hadoop 是最受欢迎的在 Internet 上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。

Hadoop生态系统
001潜入大数据Hadoop框架的世界_第2张图片
1.Common
一组分布式文件系统和通用I/O的组件与接口(序列化,java PRC 和持续化数据结构)
2. HDFS文件系统
分布式文件系统,运行于大型商用机集群。
3.Avro
一种支持高效,跨语言的RPC以及永久存储数据的序列化系统
4.MaprReduce
分布式数据处理模型和执行环境,运行于大型商用机集群。采用无共享大规模集群系统。
5.Pig
一种数据流语言和运行环境,用检索非常大的数据集。pig运行再MapReduce和HDFS的集群上。
6.Hive
一个分布式,按列存储的数据仓库。hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成Maoreduce作业)用于查询数据。
7.Hbase
一个分布式,按列存储的数据仓库。Hbase使用HDFS做为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)
8.ZooKeeper
一个分布式、可用性高的协调服务。ZooKeeper 提供分布式锁之类的基本服务用于构建分布式应用。
9.Sqoop
在数据库和HDFS之间高效传输数据的工具

云计算是大数据的承载主体,未来发展的趋势还是很迅猛。

什么是Openstack?
001潜入大数据Hadoop框架的世界_第3张图片
OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,OpenStack被公认作为基础设施即服务(简称IaaS)资源的通用前端。
OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务.
openstack是用做云计算的一个平台,或则一个解决方案。它是云计算一个重要组成部分。先队openstack有个感性的认识,可以用web访问的平台。
(2)openstack组件。
001潜入大数据Hadoop框架的世界_第4张图片
大家都知道阿里云平台,百度云平台,而阿里云平台据传说就是对openstack的二次开发。对于二次开发相信只要接触过软件的都会明白这个概念。不明白的自己网上去查一下。也就是说openstack,可以搭建云平台,什么云平台,公有云,私有云。现在百度在招聘的私有云工程师,应该就是这方面的人才。
(3)openstack自身都包含什么
以下是5个OpenStack的重要构成部分:
l Nova – 计算服务
l Swift – 存储服务
l Glance – 镜像服务
l Keystone – 认证服务
l Horizon – UI服务

接下里在慢慢了解openstack基本架构。

什么是Docker?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
网络管理相对简单,主要是基于namespace隔离
cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
docker对disk的管理比较有限
container随着用户进程的停止而销毁,container中的log等用户数据不便收集

要求的基本能力

1.进行服务器间的配网
2.熟练搭建集群环境,能够运行单词统计的示例程序首先。
3.给hadoop集群增加删减节点
4.熟悉hadoop的生态环境
5.学习java处理海量数据
6.运用python进行数据分析

待我君临天下,结发与蕊可好。@夏瑾墨

你可能感兴趣的:(数据平台开发实习生)