目录:html
1.hadoop入门须知mysql
2.hadoop环境搭建sql
3.hadoop mapreduce之WordCount例子数据库
1)基本介绍数据结构
2)名词解释:架构
Hadoop | 中文 | 相关解释 | |
NameNode | Master | 主控服务器 | 整个文件系统的大脑,它提供整个文件系统的目录信息,而且管理各个数据服务器 |
Secondary | 无 | 备份主控服务器 | 备用的主控服务器,在身后默默的拉取着主控服务器的日志,等待主控服务器牺牲后转正。 |
DataNode | Chunk | 数据服务器 | 分布式文件系统中的每个文件,都被切分陈若干数据块,每个数据块都被存储在不一样的服务器上,这些服务器称之为数据服务器。 |
Block | Chunk | 数据块 | 每一个文件都会被切分陈若干块,每一块都有连续的一段文件内容,是存储的基本单位,在这里统一称做数据块。 |
Packet | 无 | 数据包 | 客户端写文件的时候,不是一个字节一个字节写入文件系统的,而是累计到必定数量后,往文件系统中写入,每发送一次的数据,都称为一个数据包。 |
Chunk | 无 | 传输块 | 将数据切成更小的块,每个块配上一个奇偶校检码,这样的块,就是传输块。 |
JobTracker | Master | 做业服务器 | 用户提交做业的服务器,同时,它还负责各个做业任务分配,管理全部的任务服务器 |
TaskTracker | Worker | 任务服务器 | 负责执行具体的任务 |
Job | Job | 做业 | 用户的每个计算请求,称为一个做业 |
Task | Task | 任务 | 每个做业,都须要拆分开了,而后交由多个服务器来完成,拆分出来的执行单元,就称之为任务 |
Speculative Task | Backup Task | 备份任务 | 每个任务,都有可能执行失败或者缓慢,为了下降为此付出的代价,系统会未雨绸缪的实如今另外的任务服务器上执行同一个任务,这就是备份任务 |
Slot | 无 | 插槽 | 一个任务服务器可能有多个插槽,每一个插槽负责执行一个具体的任务 |
一、Hadoop Common :Hadoop体系最底层的一个模块,为Hadoop各子项目提供各类工具,如:配置文件和日志操做等。 框架
二、HDFS:分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言,HDFS 就像一个传统的分级文件系统。能够建立、删除、移动或重命名文件,等等。可是 HDFS 的架构是基于一组特定的节点构建的(参见图 1),这是由它自身的特色决定的。这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;DataNode,它为 HDFS 提供存储块。因为仅存在一个 NameNode,所以这是 HDFS 的一个缺点(单点失败)。 ssh
3. 存储在 HDFS 中的文件被分红块,而后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(一般为 64MB)和复制的块数量在建立文件时由客户机决定。NameNode 能够控制全部文件操做。HDFS 内部的全部通讯都基于标准的 TCP/IP 协议。
四、Avro :doug cutting主持的RPC项目,主要负责数据的序列化。有点相似Google的protobuf和Facebook的thrift。avro用来作之后hadoop的RPC,使hadoop的RPC模块通讯速度更快、数据结构更紧凑。
五、Hive :相似CloudBase,也是基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据的汇总,即席查询简单化。hive提供了一套QL的查询语言,以sql为基础,使用起来很方便。
六、HBase :基于Hadoop Distributed File System,是一个开源的,基于列存储模型的可扩展的分布式数据库,HBase是一个面向列的数据库,支持大型表的存储结构化数据。
七、Pig :是一个并行计算的高级的数据流语言和执行框架 ,SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,而且用户能够定义本身的功能。
八、ZooKeeper :Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
九、Chukwa :一个管理大型分布式系统的数据采集系统 由yahoo贡献。
十、Cassandra :无单点故障的可扩展的多主数据库
十一、Mahout :一个可扩展的机器学习和数据挖掘库
Hive和Hbase是两种基于Hadoop的不一样技术--Hive是一种类SQL的引擎,而且运行MapReduce任务,Hbase是一种在Hadoop之上的NoSQL 的Key/vale数据库。固然,这两种工具是能够同时使用的。就像用Google来搜索,用FaceBook进行社交同样,Hive能够用来进行统计查询,HBase能够用来进行实时查询,数据也能够从Hive写到Hbase,设置再从Hbase写回Hive
3)必需条件
JDK1.6以上
SSH无密码访问(hadoop的使用,必须配置成ssh无密码访问):
解决方法:
root用户下:
//移除密钥文件 $ cd ~/.ssh $ rm -rf *.pub $ rm -rf authorized_keys //生成密钥文件 $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh localhost后,而后能够无密码登陆了。 (使用cp id_dsa.pub authorized_keys方式也行,cp id_dsa.pub authorized_keys)
顺便贴个图:hadoop生态圈层次图
ods:操做型数据存储/运营数据仓储
dw:数据仓库
dm:数据模型