适合大数据的分布式存储与计算平台

l作者:Doug Cutting

l受Google三篇论文的启发
 
lApache

官方版本(1.0.4)

lCloudera

使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些patch。推荐使用。

lYahoo

Yahoo内部使用的版本,发布过两次,已有的版本都放到了Apache上,后续不在继续发布,而是集中在Apache的版本上。

Hadoop核心项目
lHDFS: Hadoop Distributed File System 分布式文件系统
lMapReduce:并行计算框架
 
HDFS的架构
l主从结构
•主节点,只有一个: namenode
•从节点,有很多个: datanodes
  lnamenode负责:
  •维护文件系统的目录结构
  •管理文件与block之间关系,block与datanode之间关系
l
  ldatanode负责:
  •存储文件
  •文件被分成block存储在磁盘上
  •为保证数据安全,文件会有多个副本
 
MapReduce的架构
l主从结构
•主节点,只有一个: JobTracker
•从节点,有很多个: TaskTrackers
  lJobTracker负责:
  •接收客户提交的计算任务
  •把计算任务分给TaskTrackers执行
  •监控TaskTracker的执行情况
  lTaskTrackers负责:
  •执行JobTracker分配的计算任务
 
hadoop具体能干什么?
hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn 上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40%的Hadoop作业是用pig运行的,包括垃圾邮件的识别和过滤,还有用户特征建模。(2012年8月25新更新,天猫的推荐系统是hive,少量尝试mahout!)
 
名词解释
lHadoop, Apache开源的分布式框架。源自Google GFS,BigTable,MapReduce 论文。

== HDFS ==

lHDFS (Hadoop Distributed File System),Hadoop 分布式文件系统。
lNameNode,HDFS命名服务器,负责与DataNode文件元信息保存。
lDataNode,HDFS数据节点,负责存储数据存储并汇报给NameNode。
lSecondaryNamenode,NameNode的镜像备份节点
l
l==Map Reduce==
lJobTracker,hadoop的Map/Reduce调度器,负责与TackTracker通信分配计算任务并跟踪任务进度。
lTaskTracker,启动和管理Map和Reduce子任务的节点。
 
Hadoop试验集群部署结构:
Hadoop组件依赖关系:
为何需要 MapReduce|HDFS

诉求:

l海量数据需要及时分析和处理。[速度]
l海量数据需要深入分析和挖掘。[深度]
l数据需要长期保存            [数据资产]

Data processed by Google every month:  400 PB … in 2007

问题:

l磁盘IO成为一种瓶颈,而非CPU资源。
l网络带宽是一种稀缺资源
l硬件故障成为影响稳定的一大因素
l传统分布式编程模型[MPI],需要处理大量异常问题。
 
MapReduce|HDFS 如何解决?

MapReduce+HDFS思想:

l尽可能移动计算到数据端,而非移动数据到计算端。
l硬件和组件的故障是一种常态。

MapReduce 思想:

l分而治之,化整为零
l排序优化,降低内存
 

HDFS思想:

l文件单次写入,并多次读取。
l文件副本,分片保存 (64M一个块/ 分3份保存)
l顺序写入,流式顺序读取
l面向大文件存储,而非小文件
l系统吞吐量比反应时间更重要
 
哪些公司使用hadoop
lHadoop被公认是一套行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力。几乎所有主流厂商都围绕Hadoop开发工具、开源软件、商业化工具和技术服务。今年大型IT公司,如EMC、Microsoft、Intel、Teradata、Cisco都明显增加了Hadoop方面的投入
hadoop在淘宝
l从09年开始,用于对海量数据的离线处理,例如对日志的分析,交易记录的分析等
l规模从当初的3~4百台节点,增加到现在的一个集群有3000个节点,淘宝现在已经有2~3个这样的集群
l在支付宝的集群规模也有700台节点,使用Hbase对用户的消费记录可以实现毫秒级查询
&
 
 集中存储和计算的主要瓶颈
 
Hadoop和虚拟化的差异点
 
 
Hadoop的特点
l扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
l成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
l高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
l可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。

版本
lApache

官方版本(2.4.1)

lCloudera

使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些patch。推荐使用。

lHDP(Hortonworks Data Platform)

Hortonworks公司发行版本。

hadoop核心

lCommon  -- HADOOP RPC
lHDFS: Hadoop Distributed File System 分布式文件系统
lYARN: Yet Another Resource Negotiator

资源管理调度系统

lMapreduce:分布式运算框架

问题:怎样解决海量数据的存储?

 HDFS的架构

主从结构
主节点, namenode
从节点,有很多个: datanode
namenode负责:
接收用户操作请求
维护文件系统的目录结构
管理文件与block之间关系,block与datanode之间关系
datanode负责:
存储文件
文件被分成block存储在磁盘上
为保证数据安全,文件会有多个副本

问题:怎样解决海量数据的计算?

 hadoop1.0和hadoop2.0的对比

Hadoop部署方式

l本地模式
l伪分布模式
l集群模式
伪分布模式安装步骤
l关闭防火墙
l修改ip
l修改hostname
l设置ssh自动登录
l安装jdk
l安装hadoop
Hadoop集群的物理分布
单节点物理结构
Hadoop部署方式
l本地模式
l伪分布模式
l集群模式
安装前准备软件
lVitualbox
lrhel-server-6.3-i386-dvd.iso
ljdk-6u24-linux-xxx.bin
lhadoop-1.1.2.tar.gz
伪分布模式安装步骤
l关闭防火墙
l修改ip
l修改hostname
l设置ssh自动登录
l安装jdk
l安装hadoop

修改hadoop配置文件

1.hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/

2.core-site.xml
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop0:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>
</configuration>

&

3.hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

4.mapred-site.xml
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hadoop0:9001</value>
    </property>
</configuration>

 浏览hadoop

&

 练习:搭建伪分布环境

思考题

l培养目标是什么
lhadoop是什么
lhadoop的核心组成是什么,分别解释一下
l安装伪分布模式的步骤
lhadoop的目录包括哪些,分别解释一下
l如何运行jar包中的hadoop程序

常用linux命令

 

[BigData]关于Hadoop学习笔记第一天(PPT总结)(一)的更多相关文章

  1. [BigData]关于Hadoop学习笔记第二天(PPT总结)(一)

    Plan: 分布式文件系统与HDFS HDFS体系结构与基本概念 HDFS的shell操作 java接口及常用api HADOOP的RPC机制 HDFS源码分析 远程debug 自己设计一分布式文件系 ...

  2. [BigData]关于Hadoop学习笔记第四天(PPT总结)(一)

    课程安排 Partitioner编程** 自定义排序编程** Combiner编程** 常见的MapReduce算法** ---------------------------加深拓展-------- ...

  3. [BigData]关于Hadoop学习笔记第三天(PPT总结)(一)

     课程安排 MapReduce原理*** MapReduce执行过程** 数据类型与格式*** Writable接口与序列化机制*** ---------------------------加深拓展- ...

  4. Hadoop学习笔记(5) ——编写HelloWorld(2)

    Hadoop学习笔记(5) ——编写HelloWorld(2) 前面我们写了一个Hadoop程序,并让它跑起来了.但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce.没错,上一节我 ...

  5. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  6. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

  7. Hadoop学习笔记(9) ——源码初窥

    Hadoop学习笔记(9) ——源码初窥 之前我们把Hadoop算是入了门,下载的源码,写了HelloWorld,简要分析了其编程要点,然后也编了个较复杂的示例.接下来其实就有两条路可走了,一条是继续 ...

  8. Hadoop学习笔记之HBase Shell语法练习

    Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...

  9. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

随机推荐

  1. Spring JdbcTemplate batchUpdate() example

    In some cases, you may required to insert a batch of records into database in one shot. If you call ...

  2. memcached全面剖析–4. memcached的分布式算法

    memcached的分布式 正如第1次中介绍的那样, memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能. 服务器端仅包括 第2次. 第3次 前坂介绍的内存存储功能,其实现 ...

  3. 在C#调用C++的DLL简析(一)——生成非托管dll

    经过一晚上的折腾,还是下点决心将些许的心得写下来,以免以后重复劳动. C#与C/C++相 比,前者的优势在于UI,后者的优势在于算法,C++下的指针虽然恶心,若使用得当还是相当方便的,最重要的问题是, ...

  4. Display:Block

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...

  5. 单个SWF文件loading加载详解(转)

    通过带宽查看器,可以看到SWF中每帧所占带宽状况.另外,我们还可以在Flash发布设置中,选择生成体积报告. 勾选这一项之后,发布flash时,会自动在fla目录中生成一个名为”文件名 Report. ...

  6. Spring aop实现方式记录

    原文地址:http://blog.csdn.net/moreevan/article/details/11977115 Spring提供了两种方式来生成代理对象: JDKProxy和Cglib,具体使 ...

  7. Mesos 配置项解析

    Mesos 的 配置项 能够通过启动时候传递參数或者配置文件夹下文件的方式给出(推荐方式,一目了然). 分为三种类型:通用项(master 和 slave 都支持).仅仅有 master 支持的,以及 ...

  8. [Redux] Accessing Dispatch and State with Redux -- connect

    If you have props and actions, you want one component to access those props and actions, one solutio ...

  9. Key Task

    Problem Description The Czech Technical University is rather old - you already know that it celebrat ...

  10. xtrabackup原理2

    XTRABACKUP备份原理实现细节——对淘宝数据库内核月报补充 前言 淘宝3月的数据库内核月报对xtrabackup的备份原理做了深入的分析,写的还是很不错.不过Inside君在看完之后,感觉没有对 ...