handoop相关知识点

1.Hadoop是什么?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Hadoop is a distributed computing platform written in Java. It incorporates features similar to those of the Google File System and of MapReduce. For some details, see HadoopMapReduce.

2.Hadoop框架最核心的设计是?

HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

3.Hadoop的主要优点?

Hadoop的主要优点有以下几个:

  • (a) 高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

  • (b)高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

  • (c)高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

  • (d)高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

  • (e)低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

4.HDFS是什么?

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。



HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是 HDFS 的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。

这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 的一个缺点(单点失败)。

存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。

HDFS的部分特性:

1. 一致性,高可用性,分区容错性

2. 存储超大文件

3. 一次写入,多次读取(流式数据访问)

4. 运行在普通廉价的服务器上

5. 以高延迟为代价

6. 不适合存储大量小容量的文件

7. 会在多个datanode上存储多份副本,默认3份,三份副本一般会保存在两个或者两个以上的服务器中

8. namenode 负责管理文件目录,文件和block的对应关系以及block和datanode的对应关系

9. datanode负责存储,大部分的容错机制都是在datanode上实现

5、NameNode是什么?

NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。

它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。

NameNode本身不可避免地具有SPOF(Single Point Of Failure)单点失效的风险,主备模式并不能解决这个问题,通过Hadoop Non-stop namenode才能实现100% uptime可用时间。

6.What is the purpose of the secondary name-node?

The term “secondary name-node” is somewhat misleading. It is not a name-node in the sense that data-nodes cannot connect to the secondary name-node, and in no event it can replace the primary name-node in case of its failure.

The only purpose of the secondary name-node is to perform periodic checkpoints. The secondary name-node periodically downloads current name-node image and edits log files, joins them into new image and uploads the new image back to the (primary and the only) name-node. See User Guide.

So if the name-node fails and you can restart it on the same physical node then there is no need to shutdown data-nodes, just the name-node need to be restarted. If you cannot use the old node anymore you will need to copy the latest image somewhere else. The latest image can be found either on the node that used to be the primary before failure if available; or on the secondary

name-node.

The latter will be the latest checkpoint without subsequent edits logs, that is the most recent name space modifications may be missing there. You will also need to restart the whole cluster in this case.

7. I have a new node I want to add to a running Hadoop cluster; how do I start services on just one node?

This also applies to the case where a machine has crashed and rebooted, etc, and you need to get it to rejoin the cluster. You do not need to shutdown and/or restart the entire cluster in this case.

First, add the new node’s DNS name to the conf/slaves file on the master node.

Then log in to the new slave node and execute:

$ cd path/to/hadoop
$ bin/hadoop-daemon.sh start datanode
$ bin/hadoop-daemon.sh start tasktracker

8. Is there an easy way to see the status and health of my cluster?

There are web-based interfaces to both the JobTracker (MapReduce master) and NameNode (HDFS master) which display status pages about the state of the entire system.

By default, these are located at:

http://job.tracker.addr:50030/ and http://name.node.addr:50070/.

The JobTracker status page will display the state of all nodes, as well as the job queue and status about all currently running jobs and tasks. TheNameNode status page will display the state of all nodes and the amount of free space, and provides the ability to browse the DFS via the web.

$ bin/hadoop dfsadmin -report

9、DataNode如何理解?

DataNode 也是一个通常在 HDFS实例中的单独机器上运行的软件。

Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。

DataNode 响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建、删除和复制块的命令。NameNode 依赖来自每个 DataNode 的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据。如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施,重新复制在该节点上丢失的块。

10、如何理解Google集群系统原型?

Google的数据中心使用廉价的Linux PC机组成集群,在上面运行各种应用。核心组件是3个:

  • (a) GFS(Google File System)。一个分布式文件系统,隐藏下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口。Google根据自己的需求对它进行了特别优化,包括:超大文件的访问,读操作比例远超过写操作,PC机极易发生故障造成节点失效等。GFS把文件分成64MB的块,分布在集群的机器上,使用Linux的文件系统存放。同时每块文件至少有3份以上的冗余。中心是一个Master节点,根据文件索引,找寻文件块。详见Google的工程师发布的GFS论文。

  • (b) MapReduce。Google发现大多数分布式运算可以抽象为MapReduce操作。Map是把输入Input分解成中间的Key/Value对,Reduce把Key/Value合成最终输出Output。这两个函数由程序员提供给系统,下层设施把Map和Reduce操作分布在集群上运行,并把结果存储在GFS上。

  • (c) BigTable。一个大型的分布式数据库,这个数据库不是关系式的数据库。像它的名字一样,就是一个巨大的表格,用来存储结构化的数据。

11、Hadoop生态圈子项目有哪些?

(a)HDFS: Hadoop分布式文件系统(Distributed File System)

(b)MapReduce:MapReduce是处理大量半结构化数据集合的编程模型

(c)HBase: 类似Google BigTable的分布式NoSQL列数据库。

(d)Hive:数据仓库工具,由Facebook贡献。

(e)Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。

(f)Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。

(g)Pig: 大数据分析平台,为用户提供多种接口。

(h)Ambari:Hadoop管理工具,可以快捷的监控、部署、管理集群。

(i)Sqoop:于在HADOOP与传统的数据库间进行数据的传递。

12、Hadoop1.x与Hadoop2.x的区别?

Hadoop2.x中有两个重要的变更:

(a)HDFS的NameNode可以以集群的方式部署,增强了NameNode的水平扩展能力和可用性

(b)MapReduce将JobTrack中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN

13、Hadoop2.x解决了Hadoop1.x中的哪些问题

(a)2.x解决了1.x中的namenode单点故障问题

(b)解决了namenode内存压力过大难以扩展问题

(c)解决了JobTrack单点故障问题

(d)解决了JobTrack访问压力过大问题

(e)解决了对MapReduce之外的框架支持问题

Hadoop例题—-填空篇

1.在数据分析与挖掘中对数据的访问性要求包括:交互性访问、____、迭代计算_____,HADOOP仅仅支持了其中____,而Spark则支持所有4种方式。

2.2004年Google发表的三篇著名的分布式论文是关于分布式计算_分布式数据库、分布式文件系统,分别对应的开源实现是____mapreduce_BIGTABLE___GFS_______

3.HDFS的默认文件会存储____3份,如果有三台HDFS节点,有两台机器宕机的情况下文件会丢失吗?不会

4.HDFS中Master 进程叫_, Slaves进程叫_____

Hadoop例题—-问答篇

1.解释MapReduce中的Partition和Shuffle?

在MapReduce过程中需要将任务进行分片,Shuffle:是描述数据从map端输入到reduce的过程,在hadoop中,
大部分map task和reducetask是在不同的node执行,重要开销是网络开销和磁盘IO开销,
因此,shuffle的作用主要是:完整的从map task端传输到reduce端;跨节点传输数据时,尽可能的减少对带宽的消耗

2.请列出你所知道的大数据应用的中间件及用途,例如 hdfs 分布式文件系统?

(a)  Hdfs是广泛使用的hadoop生态圈中的 分布式文件系统,很多其他组件都是依赖于hdfs进行实现,比如hadoop 的map reduce算法,hbase。
HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件
HDFS: Hadoop分布式文件系统(Distributed File System) Spark的rdd也是一个非常有用的中间件,它为spark各类组件提供在内存中表示数据的基本存储格式。
(b)MapReduce:MapReduce是处理大量半结构化数据集合的编程模型
(c)HBase: 类似Google BigTable的分布式NoSQL列数据库。
(d)Hive:数据仓库工具,由Facebook贡献。
(e)Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。

Hadoop例题—-上机操作

HDFS基本操作

- 拷贝文件到HDFS

- 考出文件到本地文件系统

- 修改文件目录权限

- HDFS NameNode/DataNode Web监控

例题:

1. 请按以下要求运行hadoop 自带的wordcount程序

a) 将输入文件wordcount1.txt和wordcount2.txt 拷贝到hdfs 的/input/

b) 修改文件的权限为777

c)运行wordcount 的hadoop sample程序统计wordcount1.txt和wordcount2.txt 合计出现的单词个数

d)将输出结果拷贝到本地文件系统,答印结果.

e)将hdfs上的输出文件夹out删除

hadoop fs -copyFromLocal /data/wordcount/* /input/
hadoop fs -chmod 777 /input
hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /input /out
hadoop fs -copyToLocal /out /data/

大数据基础知识问答----hadoop篇的更多相关文章

  1. 大数据基础知识问答----spark篇,大数据生态圈

    Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...

  2. 大数据基础知识:分布式计算、服务器集群[zz]

    大数据中的数据量非常巨大,达到了PB级别.而且这庞大的数据之中,不仅仅包括结构化数据(如数字.符号等数据),还包括非结构化数据(如文本.图像.声音.视频等数据).这使得大数据的存储,管理和处理很难利用 ...

  3. Hadoop生态圈-大数据生态体系快速入门篇

    Hadoop生态圈-大数据生态体系快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.大数据概念 1>.什么是大数据 大数据(big data):是指无法在一定时间 ...

  4. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  5. 大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图

    http://edu.51cto.com/roadmap/view/id-29.html http://my.oschina.net/infiniteSpace/blog/308401 大数据实时计算 ...

  6. 大数据学习笔记之Hadoop(一):Hadoop入门

    文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架 ...

  7. 阿里巴巴飞天大数据架构体系与Hadoop生态系统

    很多人问阿里的飞天大数据平台.云梯2.MaxCompute.实时计算到底是什么,和自建Hadoop平台有什么区别. 先说Hadoop 什么是Hadoop? Hadoop是一个开源.高可靠.可扩展的分布 ...

  8. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  9. 大数据学习系列之六 ----- Hadoop+Spark环境搭建

    引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...

随机推荐

  1. angularjs中的几种工具方法

    1.比较两个字符串是否相等 2.对象形式转化成json和json转化成字符串形式 3.便利对象遍历数组 4.绑定数据 5.多个app功能模块的实现 <!doctype html><h ...

  2. 一步一步学习Vue(十三)

    最近比较忙,忙着工作交接,忙着招人.忙着各种会,更新很少,这一篇也是作为本入门系列的最后一篇了,以后可能会写一些自己在前端这块的心得或者体会了,无关乎使用什么框架,可能就是原生的js.dom.编程模式 ...

  3. MySQL加载本地数据时出现1290(HY000)错误

  4. [AH/HNOI2017]大佬

    题目描述 人们总是难免会碰到大佬.他们趾高气昂地谈论凡人不能理解的算法和数据结构,走到任何一个地方,大佬的气场就能让周围的人吓得瑟瑟发抖,不敢言语. 你作为一个 OIER,面对这样的事情非常不开心,于 ...

  5. 【NOIP2012TG】solution

    D1T1(Vigenere) 题意:给你一个原串与一个密码串,问你按照题意规则加密后的密文. 解题思路:暴力模拟. #include <stdio.h> ],c[],u1[],u2[]; ...

  6. ●hihocoder #1394 网络流四·最小路径覆盖

    题链: http://hihocoder.com/problemset/problem/1394 题解: 有向图最小路径覆盖:最少的路径条数不重不漏的覆盖所有点. 注意到在任意一个最小路径覆盖的方案下 ...

  7. poj 1367 robot(搜索)

    题意:给你一个图,求起点 到 终点的最少时间 每次有两种选择①:往前走1~3步                ②原地选择90°   费时皆是1s 图中1为障碍物,而且不能出边界.还要考虑机器人的直径 ...

  8. Linux命令-关机命令详解

    关机命令:1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown -h 10 10分钟后自动关机 如果是通过sh ...

  9. 基于 HTML5 的 WebGL 3D 智能楼宇监控系统

    前言 智能监控的领域已经涉及到了各大领域,工控.电信.电力.轨道交通.航天航空等等,为了减少人员的消耗,监控系统必不可少.之前我写过一篇 2D 的智能地铁监控系统广受好评,突然觉得,既然 2D 的这么 ...

  10. Python中内置函数的介绍

    内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的 ...