Hadoop精华问答 | NameNode是什么?

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=png

2006年项目成立的一开始,“Hadoop”这个单词只代表了两个组件——HDFS和MapReduce。到现在的13个年头,这个单词代表的是“核心”,今天我们就来看看关于Hadoop的精华问答。


640?wx_fmt=gif1

  Q:NameNode是什么?


A:NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。 它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。NameNode本身不可避免地具有SPOF(Single Point Of Failure)单点失效的风险,主备模式并不能解决这个问题,通过Hadoop Non-stop namenode才能实现100% uptime可用时间。


640?wx_fmt=gif2

Q:DataNode如何理解?


A:DataNode 也是一个通常在 HDFS实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。

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


640?wx_fmt=gif3

      Q:如何理解Google集群系统原型?


A: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。一个大型的分布式数据库,这个数据库不是关系式的数据库。像它的名字一样,就是一个巨大的表格,用来存储结构化的数据。


640?wx_fmt=gif4

Q:Hadoop1.x与Hadoop2.x的区别?


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

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

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

640?wx_fmt=gif5

  Q:Hadoop2.x解决了Hadoop1.x中的哪些问题


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

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

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

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

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


小伙伴们冲鸭,后台留言区等着你!

关于Hadoop,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 图解分布式架构的发展和演进 | 技术干货

  • Docker 系列学习文章 | 什么是容器云?

  • 任正非:华为海思芯片不是“备胎”!

  • 揭秘清华 AI 学堂班:姚期智担任首席教授,2019 年首批招收 30 人

  • Google Android 向华为“闭源”!华为手机迎来至暗时刻!

  • "两年前我对区块链的了解为零, 两年后我成了工程师" 我是如何得到第一份工作的?

  • 《使女的故事》大火,AI是背后最大推手?


640?wx_fmt=png 真香,朕在看了!

你可能感兴趣的:(Hadoop精华问答 | NameNode是什么?)