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. ASwipeLayout一个强大的侧滑菜单控件

    Android中侧滑的场景有很大,大部分是基于RecyclerView,但是有些时候你可以动态地addView到一个布局当中,也希望它实现侧滑,所以就产生了ASwipeLayout,该控件不仅支持在R ...

  2. 将 Net 项目升级 Core项目经验:(三)迁移后的Net Standard版本的类库测试和多平台项目实测

    迁移后的Net Standard版本的类库测试和多平台项目实测 按照第一步的方法,添加一个Net Core的MSTest项目,然后将原来的测试项目下的代码迁移到新测试 项目中,然后引用新的Beyond ...

  3. 系统引导修复 ---- Windows 和 Ubuntu

    Windows: 1.准备windows相应镜像盘,u盘启动该系统 (以下均为windows10安装界面) 2.进入安装界面<语言,时间,键盘格式>,点击"下一步" 3 ...

  4. 【NOIP 2017】列队

    Description Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n×m名学生,方阵的行数为 n ...

  5. [JSOI2007]建筑抢修

    Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的 入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快 ...

  6. HDU 1724 Ellipse

    Problem Description Math is important!! Many students failed in 2+2’s mathematical test, so let's AC ...

  7. POJ 3415 不小于k的公共子串的个数

    Common Substrings Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 9248   Accepted: 3071 ...

  8. synchronized修饰static方法与非static方法的区别

    1. 当synchronized修饰一个static方法时,多线程下,获取的是类锁(即Class本身,注意:不是实例),作用范围是整个静态方法,作用的对象是这个类的所有对象. 2. 当synchron ...

  9. SSH(struts2+hibernate+spring)总结

    1 前三个文章 是我对ssh的具体实现 虽然没有真的写一个ssh的例子出来 但是 意思应该传达到了 主要还是注解注入的ssh太模块化了 感觉写出来意义不大 个人水平有限 说不清 2 我一开是写的是st ...

  10. 一个页面从输入url到页面加载显示完成,中间都经历了什么

    第一种解释: 一般会经历以下几个过程: 1.首先,在浏览器地址栏中输入url 2.浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容.若没有,则跳到第三步操作. 3 ...