大数据框架整理大数据离线部分一、HDFS 1:HDFS的架构部分及工作原理 NameNode:负责管理元素据,将信息保存在内存中 DataNode:保存数据,以块的形式保存。启动后需要定时的向NameNode发送心跳,报告自身存储的块信息 2:HDFS的上传过程 3:HDFS的下载 4:NameNode的元数据安全机制以记日志的形式将每一个操作写在磁盘的日志文件中,然后借助SecondaryNameNode的checkpoint功能将fsImage和日志进行合并。重点:记住checkpoint工作过程 5:如果服务器的磁盘坏了,如何挽救数据? 。 6:hdfs集群中,受到拓展瓶颈的是NameNode还是Datanode? 是NameNode,因为DataNode不够可以很方便的水平拓展,而工作的NameNode只有一个,他的存储能力完全取决于他的内存,所以。。。。, 但是其实NameNode一般不会成为瓶颈,因为一个块记录的元数据信息大小约为150B,如果每一个块大小为128M的话,那么15G的NameNode内存可以存储12PB的数据。 7:datanode明明已启动,但是集群中的可用datanode列表中就是没有,怎么办? 已经不是处女,在她的Data目录下,已经有其他NameNode的标记,这个NameNode不认。 8:文件下载到window中,为什么会报错? 默认使用操作系统的内核进行磁盘数据的写入,也就是需要一个winutil的工具,而默认的安装包中不提供,所以需要编译源码或者设置为使用Java的进行磁盘写入。 9:hadoop的HA(高可用) 二、MapReduce 1:MapReduce中,fileinputformat->map->shuffle->reduce的过程 2:MapReduce中,job提交的过程 3:自定义Javabean作为数据,pareble接口。 4:自定义outputformat,进行不同方向的处理。 5:MapReduce的一些应用场景 1、排序并且求TOPOne和TOPN 2、求某个用户前几个月的总流量,并且选择出流量前几名的用户。 3、reduce端的join 4、map端join 5、求共同好友问题三、hive 1:什么是hive? 一个将sql转化为MapReduce程序的、单机版的、数据仓库工具。通过关系型数据库(mysql等)来记录表元数据信息。真正的数据在HDFS中。 Hive利用HDFS存储数据,利用MapReduce查询分析数据 ,都是基于Spark处理了。安装的时候,需要注意jline的版本冲突。 2:如何启动? 3:执行的sql的形式 hiveshell、hive-e"sql命令"、hive-f"一个包含着很多SQL语句的文件" 4:hive的创建表操作内部表、外部表就差连个关键字(external和location) 分区表、分桶表 5:hive查询表 join 动态分区分组查询复杂的那个累计报表操作。 6:hive自定义函数(UDF) 四、sqoop 利用hadoop的map端进行数据的并行导入导出。安装在HDFS上,配置HDFS的路径和Hive路径即可。五、flume 1:agent:sources、channel、sinks 2:sources:exec、spooldir、arvo(加一个拦截器)3:channel:men、disk4:sinks:arvo、HDFS、kafka 5:flume安装在数据源这一边。 6:如何自定义拦截器?classmyiterceptorimplementsIterceptor //里面有一个静态的公共内部类。 7:如何实现flume的多级连接,以及如何实现高可用? 大数据实时storm部分 storm 1:storm是一个实时的计算框架,只负责计算,不负责存储。它通过spout的open和nextTuple方法去外部存储系统(kafka)获取数据,然后传送给后续的bolt处理, bolt利用prepare和execute方法处理完成后,继续往后续的bolt发送,或者根据输出目录,把信息写到指定的外部存储系统中。 2:storm的数据不丢失原理交叉收到的数据做异或元算中间结果不为0的原理。 3:设置spout_max_pending(可以限流) 4:jstorm的通信机制,每一个:worker都有一个接受线程和输出线程 5:storm的架构分析 nimbus、zookeeper、supervisor、worker nimbus:接
大数据框架整理 来自淘豆网m.daumloan.com转载请标明出处.