Hadoop介绍-移动云计算服务端技术_第1页
Hadoop介绍-移动云计算服务端技术_第2页
Hadoop介绍-移动云计算服务端技术_第3页
Hadoop介绍-移动云计算服务端技术_第4页
Hadoop介绍-移动云计算服务端技术_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WhatisHadoopApacheHadoop是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。Hadoop组成HadoopcorePIGHBaseZooKeeperHadoop组成Hadoopcore

Hadoop的核心子项目,提供了一个分布式文件系统(HDFS)和支持MapReduce的分布式计算。HBase 建立在Hadoop内核之上,提供可靠的,可扩展的分布式数据库。ZooKeeper

一个高效的,可扩展的协调系统。分布式应用可以使用ZooKeeper来存储和协调关键共享状态。PIG

建立于Hadoop内核之上,是一种支持并行计算运行框架的高级数据流语言。

HadoopcoreMapReduceMap:任务的分解Reduce:结果的汇总两大核心设计HDFSNameNodeDataNodeClientMapReduceHDFSHDFSNameNode

可以看作是分布式文件系统中的管理者,存储文件系统的meta-data,主要负责管理文件系统的命名空间,集群配置信息,存储块的复制。DataNode

是文件存储的基本单元。它存储文件块在本地文件系统中,保存了文件块的meta-data,同时周期性的发送所有存在的文件块的报告给NameNode。Client

就是需要获取分布式文件系统文件的应用程序。

HDFS操作举例文件写入:1.

Client向NameNode发起文件写入的请求。2.

NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。3.

Client将文件划分为多个文件块,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

文件读取:1.

Client向NameNode发起文件读取的请求。2.

NameNode返回文件存储的DataNode的信息。3.

Client读取文件信息。文件块复制:1.NameNode发现部分文件的文件块不符合最小复制数或者部分DataNode失效。2.

通知DataNode相互复制文件块。3.

DataNode开始直接相互复制。HBase-数据模型每个数据行都包括一个可排序的关键字,和任意数目的列HBase利用的是column-oriented列导向存储机制,不同于传统的row-oriented行导向存储机制对于Null值的存储是不占用任何空间的最适合使用HBase存储的数据是非常稀疏的数据所有数据库更新操作都有时间戳。HBase对每个数据单元,只存储指定个数的最新版本。HBase-概念模型 一个表格是一些行的集合,每行包含一个行关键字(和一个可选的时间戳),和一些可能有数据的列(稀疏),如下图:HBase-物理模型 在概念上表格是一个稀疏的行/列矩阵,但是在物理上,它们按照列存储,上面“概念模型”中的表格在物理上的存储方式如下所示:ZooKeeperWhatisZooKeeper?

一个高效的,可扩展的协调系统WhyisZooKeeper?保证用户读取的数据是最新的当用户正在查看的数据被修改时,保证用户会被及时告知保证来至一个用户的所有请求会被按顺序处理

保证所有用户得到的数据是一致的ZooKeeper-DataModelZooKeeper提供的命名空间和一般的文件系统是极为相似的,除了ZooKeeper的文件系统的每个节点(node)既可以包含数据又可以包含子节点ZooKeeper提供暂时节点的概念,这些节点随着创建他们的会话的结束而结束。ZooKeeper允许用户在节点上设置“监视”机制,当节点的内容被改变时,“监视”机制会告知用户PIGPig是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能支持的运算

算数符号:+,-,*,/

多种数据类型:string,int,float,long等

比较运算:==,!=,>,>=,<,<=,eq,neq,gt,gte,lt,lte,matches

复杂的数据类型:bag,tuple,map

相关运算:FILTER,GROUPBY,ORDER,DISTINCT,UNION,JOIN,FOREACH...GENERATE

数据统计:COUNT,SUM,AVG,MIN,MAX等。PIG(Cont.)pig支持的原始类型数据: int,long,float,double,char数组,byte数组pig内部的数据类型:

bag:一个tuple的集合,表示方式:{<1,2>,<3,4>}

tuple:一个排序的数组,表示方式:<pig,3.14>

map:一个key,value的map数据,表示方式['pig':<'load','store'>,'web':'']

atom:单一的原始类型数据,作为string存储,也能转化成数值类型.表示方式:''或'2.3'.数据表示方式: t=<1,{<2,3>,<4,6>,<5,7>},['apache':'hadoop']>在上面的例子中一个tuple被引用到t下,因此t有3个域f1,f2,f3,我们可以通过t.f1或t.$0访问到1,通过t.f2或t.$1访问到{<2,3>,<4,6>,<5,7>},通过t.f3或t.$2访问到['apache':'hadoop'].

Mahout&Hive Mahout(看象人)

一批机器学习库,用于驱动Hadoop。HIVE(蜂房)

Hive是搭建在Hadoop之上的数据仓库基础,并提供了一些工具,使得对Hadoop文件中海量数据的归纳、特殊查找和分析更为容易。WhyisHadoop可扩展。不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。经济。框架可以运行在任何普通的PC上。可靠。分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。高效。分布式文件系统的高效数据交互实现以及MapReduce结合LocalData处理的模式,为高效处理海量的信息作了基础准备。HowtoUseHadoop环境:

7台普通的机器,操作系统都是linux,JDK必须是1.5以上,7台机器的机器名务必不同。部署考虑:

对于Hadoop的集群来说,可以分成两大类角色,即Master和Slave,前者主要配置NameNode和JobTracker的角色,负责总管分布式数据和分解任务的执行,后者配置DataNode和TaskTracker的角色,负责分布式数据存储以及任务的执行。现取一台为Master,六台为SlaveHowtoUseHadoop(实验步骤)在所有的机器上都建立相同的目录,也可以就建立相同的用户,以该用户的home路径来做hadoop的安装路径。下载Hadoop,先解压到Master上。解压后进入conf目录,主要需要修改以下文件:hadoop-env.sh,hadoop-site.xml,masters,slaves。建立Master到每一台Slave的ssh受信证书。将Master上的Hadoop通过scp拷贝到每一个Slave相同的目录下,根据每一个Slave的Java_HOME的不同修改其hadoop-env.sh。

HowtoUseHadoop(实验步骤)Cont.修改Master上/etc/profile: 新增以下内容:具体的内容根据你的安装路径修改,这步只是为了方便使用 exportHADOOP_HOME=/home/wenchu/hadoop-0.17.1 exportPATH=$PATH:$HADOOP_HOME/bin

修改完执行source/etc/profile来使得其生效。在Master上执行Hadoopnamenode–format,这是第一需要做的初始化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论