大家好,小弟初学Hadoop,有不对的地方希望大神们指教。先做一下介绍,本人工作一年多了,主要从事JAVAWEB 方面的开发。想利用业余时间学习下Hadoop,自己比较感兴趣所以在网上查看了很多Hadoop资料,希望多了解其他领域的知识,看看自己到底适合哪方面的开发。而且自己也简单的自学了一下Linux,会用一些常用的命令,但是还没有涉及到Shell编程,先简单的说到这里。
Hadoop是由Doug Cutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎,主要参照Google公开的部分GFS和Mapreduce思想。Doug Cutting等人用了2年业余时间实现了DFS和Mapreduce机制,使Nutch性能飙升。Hadoop 于 2005 年秋天作为 Lucene的子项目 Nutch的 一部分正式引入Apache基金会。2006 年 3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。Lucene并不是一个应用程序,而是提供了一个纯Java的高性能全文索引引擎工具包,嵌入到各种实际应用中实现全文搜索、索引的功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎的应用。
Hadoop的子项目 |
Core
一系列分布式文件系统和通用I/O的组件和接口(序列化、Java RPC和持久化数据结构)。
Avro
一种提供高效、跨语言RPC的数据序列系统,持久化数据存储。
MapReduce
分布式数据处理模式和执行环境,运行于大型商用机集群。
HDFS
分布式文件系统,运行于大型商用机集群。
Pig
一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在MapReduce和HDFS的集群上。
Hbase
一个分布式的、列存储数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)。
ZooKeeper
一个分布式的、高可用性的协调服务。ZooKeeper提供分布式锁之类的基本服务用于构建分布式应用。
Hive
分布式数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据。
Chukwa
分布式数据收集和分析系统。Chukwa运行HDFS中存储数据的收集器,它使用MapReduce来生成报告。
简单了解到这里,下一篇的学习笔记主要是Hadoop的环境搭建和部署。