Apache Hadoop 和Hadoop生态圈

Apache Hadoop 和Hadoop生态圈

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

尽管Hadoop因MapReduce及其分布式文件系统HDFS而出名,但Hadoop这个名字也用于一组相关项目的统称,这些相关项目都使用这个基础平台进行分布式计算和海量数据处理。

Hadoop Common:

一组分布式文件系统和通用I/O的组件与接口(序列化,Java RPC 和持久化数据结构)

HDFS: Hadoop分布式文件系统(Distributed File System) - HDFS (Hadoop Distributed File System),运行于大型商用机集群

MapReduce

分布式数据处理模型和执行环境,运行于大型商用机集群

HBase:

一个分布式、按列存储数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)。

Hive:数据仓库工具,由Facebook贡献。一种分布式、按列存储的数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(有运行时引擎翻译成MapReduce作业)用以查询数据。

Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。一种分布式、可用性高的协调服务。提供分布式锁之类的基本服务用于构建分布式应用。

Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。

Pig:

大数据分析平台,为用户提供多种接口。一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在MapReduce和HDFS的集群上。

Ambari:

Hadoop管理工具,可以快捷的监控、部署、管理集群。

Sqoop:

在数据库和HDFS之间高效传输数据的工具。

参考文献:

http://baike.baidu.com/link?url=5TXA32tcYO3i-xO4cIMNT4b6EJv9rNo-2hO7L5FpZsEzeSHMh_BXS8d9yX4T80El7rGMUMMCgVRVfx-8a-Dl2q

http://hadoop.apache.org

《Hadoop权威指南》

时间: 2024-08-10 19:15:35

Apache Hadoop 和Hadoop生态圈的相关文章

一步一步跟我学习hadoop(3)----hadoop命令手册

上节我们学习了hadoop的eclipse插件安装和wordcount程序的运行,本篇对hadoop命令进行一个系统的了解 hadoop的命令通过HADOOP_HOME\bin\hadoop命令触发,我们可以在命令行执行 hadoop --help 来提示用户的命令输入. hadoop命令分为两大类:用户命令和管理命令,以下是hadoop命令的详细解读 本篇博客是摘自官网http://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html 0概

Python菜鸟的Hadoop实战——Hadoop集群搭建

Hadoop集群的部署 网上很多关于hadoop集群部署的文章, 我这里重新整理下,毕竟,别人的经历,让你按照着完整走下来,总有或多或少的问题. 小技巧分享: 有些初学者喜欢在自己机器上安装虚拟机来部署hadoop,毕竟,很多同学的学习环境都是比较受限的. 我这里则直接选择了阿里云的机器,买了三台ECS作为学习环境.毕竟,最低配一个月才40多块,学习还是要稍微投入点的. 一. 基础环境准备 Windows不熟练,小主只有选择Linux了. 官方提示如下,Linux所需软件包括: JavaTM1.

[Linux][Hadoop] 将hadoop跑起来

前面安装过程待补充,安装完成hadoop安装之后,开始执行相关命令,让hadoop跑起来   使用命令启动所有服务: [email protected]:/usr/local/gz/hadoop-2.4.1$ ./sbin/start-all.sh 当然在目录hadoop-2.4.1/sbin下面会有很多启动文件: 里面会有所有服务各自启动的命令,而start-all.sh则是把所有服务一起启动,以下为.sh的内容: #!/usr/bin/env bash # Licensed to the A

Hadoop:Hadoop单机伪分布式的安装和配置

http://blog.csdn.net/pipisorry/article/details/51623195 因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏. 之前是在docker中配置的hadoop单机伪分布式[Hadoop:Hadoop单机伪分布式的安装和配置 ],并且在docker只有root用户,所有没有权限问题存在. 这里直接在linux下配置,主要是为了能用netbeans ide调试hadoop程序,并且使用的用户就是开机时登录的用户pika. 本教程配置

【Hadoop】Hadoop 机架感知配置、原理

Hadoop机架感知 1.背景 Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份, 同机架内其它某一节点上一份,不同机架的某一节点上一份. 这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快: 同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据. 为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序读取离它最近的副本. 如果在读取程序的同一个机架上有一个副本,那么就读取该副本.

Hadoop学习------Hadoop安装方式之(一):单机部署

Hadoop 默认模式为单机(非分布式模式),无需进行其他配置即可运行.非分布式即单 Java 进程,方便进行调试. 1.创建用户 1.1创建hadoop用户组和用户 一般我们不会经常使用root用户运行hadoop,所以需要创建一个平常运行和管理hadoop的用户; 有2种方式,选择任意一种即可 方法1:先创建hadoop用户组 (不同Linux系统命令不同) sudo groupadd(或者addgroup) hadoop 再创建hadoop用户 sudo useradd(或者 adduse

Hadoop:hadoop fs、hadoop dfs与hdfs dfs命令的区别

http://blog.csdn.net/pipisorry/article/details/51340838 'Hadoop DFS'和'Hadoop FS'的区别 While exploring HDFS, I came across these two syntaxes for querying HDFS: > hadoop dfs > hadoop fs why we have two different syntaxes for a common purpose 为什么会对同一个功能

hadoop/etc/hadoop 下没有mapred-site.xml,只有mapred.xml.template

默认情况下,/usr/local/hadoop/etc/hadoop/文件夹下有mapred.xml.template文件,我们要复制该文件,并命名为mapred.xml,该文件用于指定MapReduce使用的框架. 复制并重命名 cp mapred-site.xml.template mapred-site.xml 编辑器打开此新建文件 sudo gedit mapred-site.xml然后编辑mapred-site.xml

Hadoop学习------Hadoop安装方式之(三):分布式部署

这里为了方便直接将单机部署过的虚拟机直接克隆,当然也可以不这样做,一个个手工部署. 创建完整克隆-->下一步-->安装位置.等待一段时间即可. 我这边用了三台虚拟机,分别起名master,slave1.slave2 1.修改主机名.ip 1.1关闭防火墙 CentOS系统默认开启了防火墙,在开启 Hadoop 集群之前,需要关闭集群中每个节点的防火墙.有防火墙会导致 ping 得通但 telnet 端口不通,从而导致 DataNode 启动了,但 Live datanodes 为 0 的情况.