文档介绍::..数据仓库建一个数据中心,你会如何规划?如果数据超过存储容量,你们怎么处理?Redo日志的格式是什么?Hadoop生态圈中各种框架的运用场景?如何存储海量的小文件?(大小都是几百《~几1\/1),请简述自己的设计方案。Java基础1•说说值对象与引用对象的区别?2•谈谈你对反射机制的理解及其用途?%Vector、LinkedList的区别及其优缺点?HashMap、HashTable的区别及其优缺点?3•列出线程的实现方式?如何实现同步?RPC原理是什么?10的原理,10模型有几种?Jvm如何优化?jvm的内存是怎么分配的?Windows用什么样的模型,Linux用什么样的模型?Hadoop简单描述如何安装配置一个apache开源版hadoop?Hdfs的架构是什么样的?Hdfs各模块的职责是什么?NameNode与SecondaryNameNode的区别与联系?NameNode中的meta数据存放在哪里?是存放在NameNode自身,还是DataNode等其他节点?Hdfs工作原理是怎么样的?Hdfs如何保证数据安全性?Hdfs的应用场景是什么?Hdfs的写流程是怎么样的?fsimage和edit的区别?Hdfs客户端写数据宕机如何处理?hdfs的client端,复制到第三个副本时宕机,hdfs怎么恢复保证下次写第三副本?Hdfs的读流程是怎么样的?datanode宕机恢复的流程?HDFS底层存储如何设计的?存储机制:。,Namenode是HDFS集群主节点,负责维护整个HDFS文件系统的目录树以及每个路径所对应的数据块的信息。。4由Datanode定期想Namenode汇报自身所保存的文件块信息,Namenode负责保持文件副本数量。Hdfs休系结构我们首先介绍HDFS的体系结构,HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。HDFS允许用户以文件的形式存储数据。从内部来看,文件被分成若干个数据块,而且这若干个数据块存放在一组DataNode上。NameNode执行文件系统的命名空间操作,比如打开、关闭、重命名文件或目录等,它也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写请求在NameNode的统一调度下进行数据块的创建、删除和复制工作。图1・3给出了HDFS的体系结构。NameNode和DataNode都被设计成可以在普通商用计算机上运行。这些计算机通常运行的是GNU/Linux操作系统。HDFS采用Java语言开发,因此任何支持Java的机器都可以部署NameNode和DataNodeo—个典型的部署场景是集群中的一台机器运行一个NameNode实例,其他机器分别运行一个DataNode实例。当然,并不排除一台机器运行多个DataNode实例的情况。集群中单一的NameNode的设计则大大简化了系统的架构。NameNode是所有HDFS元数据的管理者,用户数据永远不会经过NameNode。mapreduce的原理是什么?biner—partition—sort一copy一sort一grouping—reduceMapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输岀。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。Mapper任务的执行过程详解每个Mapper任务是一个Java进程,它会读取HDFS中的文件解析成很多的键值对,经过我们覆盖的map方法处理后,转换为很多的键值对再输出。整个Mapper任务的处理过程又可以分为以下六个阶段:第一阶段是把输入文件按照一定的标准分片(Inputsplit),每个输入片的大小是固定的。默认情况下,输入片(Inputsplit)的大小与数据块(Block)的大小是相同的。如果数据块(Block)的大小是默认值128MB,输入文件有两个,一个是32MB,一个是172MBO那么小的文件是一个输入片,大文件会分为两个数据块,那么是两个输入片。一共产生三个输入片。每一个输入片由一个Mapper进程处理。这里的三个输入片,会有三个Mapper进程处理。第二阶