1.(Datanode)程序负责HDFS数据存储。
2.HDFS中的block默认保存(3份)。
3.(TaskTracker)程序通常与NameNode在一个节点启动。
分析:hadoop集群是基于master/slave模式,namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有一个,而slave有多个。。
4.hadoop的作者是(Doug cutting)
5.HDFS默认的block size是64MB.
6.磁盘IO通常是集群最主要的瓶颈。
分析:首先集群的目的是为了节省成本,用廉价的PC机取代小型机和大型机(这两者的特点:CPU处理能力强,内存够大),由于大数据面临海量数据,读写数据都要io,然后还有冗余数据,Hadoop一般备份3份数据,所以io就会打折。
7.secondaryNode目的是帮助NameNode合并编辑日志,减少nameNode启动时间。
8.配置机架感知:如果一个机架出问题,不会影响数据读写。写入数据的时候,会写到不同机架的dataNode中。mapReduce会根据机架获取离自己比较近的网络数据。
9.如果nameNode意外终止,SecondaryNameNode会帮助恢复而不是替代。
10.hadoop是java开发的,rhadoop是r开发的,mapreduce是一个框架,可以理解是一种思想,可以使用其他语言开发。
11.client客户端上传文件:
clent向NameNode发起文件写入的请求,NameNode根据文件大小和文件块的配置情况,返回给client它所管理的部分dataNode的信息。client将文件划分成多个block,根据dataNode的地址信息,按顺序写入到每一个dataNode块中。
12.Ganglia不仅可以进行监控,也可以进行告警。
分析:ganglia作为一款Linux环境中的监控软件,最擅长的是从节点中按照用户的需求以较低的代价采集数据,但在预警以及发生时间后通知用户并不擅长。更擅长做预警的是nagios。
通过将两者结合,吧ganglia采集的数据作为nagios的数据源,然后利用nagios发送预警通知,可以完美的实现一整套监控管理的系统。
13.Cloudera Enterpris在美国加州举行的Hadoop大会上公开,以若干私有管理/监控/运行工具加强Hadoop的功能。收费采取合约订购方式,价格随着使用的集群大小变动。
14.lucene是支持随机读写的,而HDFS只是支持随机读,但是HBase可以来补救。HBase提供随机读写,来解决Hadoop不能处理的问题,
15.namenode不需要从磁盘中读取metadata,所有数据都在内存中,硬盘上只是序列化的结果,只有每次namenode启动时才会读取。

hadoop面试题及答案解析的更多相关文章

  1. PHP面试题及答案解析(8)—PHP综合应用题

    1.写出下列服务的用途和默认端口. ftp.ssh.http.telnet.https ftp:File Transfer Protocol,文件传输协议,是应用层的协议,它基于传输层,为用户服务,它 ...

  2. PHP面试题及答案解析(7)—Linux系统命令

    1.请解释下列10个shell命令的用途.top.ps.mv.find.df.cat.chmod.chgrp.grep.wc top:该命令提供了实时对系统处理器状态的监控,它能够实时显示系统中各个进 ...

  3. PHP面试题及答案解析(5)—数据结构与算法

    1.使对象可以像数组一样进行foreach循环,要求属性必须是私有.(Iterator模式的PHP5实现,写一类实现Iterator接口) <?php class Test implements ...

  4. PHP面试题及答案解析(6)—PHP网络编程

    1.禁用COOKIE后SEESION还能用吗? 可以,COOKIE和SESSION都是用来实现会话机制的,由于http协议是无状态的,所以要想跟踪一个用户在同一个网站之间不同页面的状态,需要有这么一个 ...

  5. PHP面试题及答案解析(4)—PHP核心技术

    1.写出一个能创建多级目录的PHP函数. <?php /** * 创建多级目录 * @param $path string 要创建的目录 * @param $mode int 创建目录的模式,在 ...

  6. PHP面试题及答案解析(3)—MySQL数据库

    1.mysql_num_rows()和mysql_affected_rows()的区别. mysql_num_rows()和mysql_affected_rows(),这两个函数都作用于 mysql_ ...

  7. PHP面试题及答案解析(2)—PHP面向对象

    1. 写出 php 的 public.protected.private 三种访问控制模式的区别. public:公有,任何地方都可以访问protected:继承,只能在本类或子类中访问,在其它地方不 ...

  8. PHP面试题及答案解析(1)—PHP语法基础

    1. strlen( )与 mb_strlen( )的作用分别是什么? strlen和mb_strlen都是用于获取字符串长度.strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数.如 ...

  9. 2020年大厂Java面试前复习的正确姿势(800+面试题附答案解析)

    前言 个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事.所以,劝各位不要因为面试失败而灰心. 丧失斗志.也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油! 本篇分享的面试题内容 ...

随机推荐

  1. USACO training course Number Triangles 数塔 /// DP oj10122

    题目大意: ...就是数塔       7         3   8      8   1   0     2   7   4   4 4   5   2   6   5 7+3+8+7+5=30 ...

  2. 菲波那切数列(Fibonacci Number)

    什么是菲波那切数列?自己google一下,面试题里面经常遇到,考试递归算法用的. 在菲波那切数列中用递归不太好.第三种算法最好. 第一 递归算法最差了,不想说.测试一下,当N=6000时,半天出不来数 ...

  3. sql server2014显示sa无法登录的错误

    博主用的是sql serser2014,不过这个问题的方法也适用于2012等其他版本. 当用sa登录的时候,提示如下错误: A connection was successfully establis ...

  4. ES6和常用特性归纳

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出JavaScript 2.0. ECMAS ...

  5. Mapped Statements collection does not contain value for xxx.xxx 错误原因&解决方案

    先贴出详细的报错信息 2019-11-05 10:10:00 [executor-1] ERROR [org.quartz.core.JobRunShell:225] - Job DEFAULT.ef ...

  6. vue:使用element-ui制作动态表格

    参考; https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/table/dynamic-table/compon ...

  7. Vagrant box ubuntu/xenial64 添加vagrant用户解决没有登录密码的问题

    参考了Vagrant box ubuntu/xenial64 の ubuntuユーザ の passwordについて 1. 可以通过 Git Bash 使用  vagrant ssh 登录到Ubuntu ...

  8. 如何玩转跨库Join?跨数据库实例查询应用实践

    背景 随着业务复杂程度的提高.数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至选择不同的数据库类型以满足其业务需求.原本在同一数据库实例里就能实现的SQL查询,现在需要跨多 ...

  9. opencv3 使用glob遍历并修改文件名

    1.函数说明 string::find()函数:是一个字符或字符串查找函数,该函数有唯一的返回类型,即string::size_type,即一个无符号整形类型,可能是整数也可能是长整数.如果查找成功, ...

  10. C++ Builder获取系统文件的路径

    取得路径的程序:(注意红色字体,由于博客显示问题,所以中间加了空格,大家自己把空格去掉即可) // -------------------------------------------------- ...