1.hadoop的定义
hadoop是被公认一套行业大数据标准开源软件,在分布式环境下提供海量数据的处理能力。
2.hadoop能干什么?
hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn 上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40%的Hadoop作业是用pig运行的,包括垃圾邮件的识别和过滤,还有用户特征建模。(2012年8月25新更新,天猫的推荐系统是hive,少量尝试mahout!)
3.hadoop具有存储和计算的功能。
存储:HDFS
计算:MapReduce
4.HDFS 分为 两大组件:
NameNode 和 DataNode
名称节点 主要存储元数据,元数据保存在内存中,保存文件,block,datanode之间的映射关系。
数据节点,存储文件内容,文件内容保存在磁盘,维护了block id到databode本地文件的映射关系。
5.名称节点是什么?包括有哪些组件?
NameNode 名称节点,是整个文件系统的管理节点,它维护这整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表
接收用户操作请求,保存了两个核心的数据结构,FsImage和EditLog
FsImage 用于维护文件系统树以及文件树中所有的文件和文件夹的元数据。
操作日志文件EditLog中记录了所有针对文件的创建,删除,重命名操作。
节点记录了每个文件中各个块所在的数据节点的位置信息。
6.NameNode持久化
NameNode主要用来保存HDFS的元数据信息,比如命名空间信息,块信息等。当它运行的时候,这些信息是存在内存中,但是这些信息也可以持久
到磁盘上。
fsimag 它是在NameNode 启动时对整个文件系统的快照
editlogs 它是在NameNide 启动后,对文件系统的改动序列(事务文件).
只有在NameNode重启时,editlogs才会合并到fsimage文件中,从而得到一个系统的最新快照。