Hadoop演进与Hadoop生态
1.了解对比Hadoop不同版本的特性,可以用图表的形式呈现。

(1)0.20.0~0.20.2: Hadoop的0.20分支非常稳定,虽然看起来有些落后,但是经过生产环境考验,是 Hadoop历史上生命周期最长的一个分支,CDH3、CDH4虽然包含了0.21和0.22分支的新功能和补丁,但都是基于此分支。
(2)0.20- append:020- append支持HDFS追加,由于该功能被认为是一个不稳定的潜在因素,所以它被单独新开了一个分支,并且没有任何新的 Hadoop的正式版基于此分支发布。
(3)0.20- ecurity:该分支基于020并支持 Kerberos认证。
(4)0.20.203~0.20.205:这些版本包括了 Security分支所带功能,并且还包括错误修复和020分支的线上开发的改进。
(5)0.21.0:0.21是一个预研性质的版本,目的是强调那段时间开发的一些新功能,没有Security功能,但有 Append功能,不建议部署在生产环境。
(6)0.22.0:0.22.0包括HDFS的安全功能,并且更新不大
(7)0.23.0:在2011年11月, Hadoop023发布了,包括了 Append、 Security、YARN和HDFS Federation功能,该版本被认为是20.0的预览版本。
(8)1.0.0:1.0.0版本是基于0.20.205版本发布,包括了 Security功能,是一个值得部署的稳定版本。但是从上面可以看出,1.0.0并不是包含了所有分支
(9)2.0.0:2012年5月,基于0.23.0分支的20.0版本发布,它包含了YARN,但移除了MRvl,兼容了MRv1的API,但底层实现有明显不同,需要经过大量测试才能被用于生产环境。CDH4是基于此版本,但CDH4还提供了MRv1的实现。
2.Hadoop生态的组成、每个组件的作用、组件之间的相互关系,以图例加文字描述呈现。
- Ambari™:基于Web的工具,用于供应,管理和监视Apache Hadoop集群,其中包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个仪表板,用于查看集群健康状况(例如热图)以及以可视方式查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。
- Avro™:数据序列化系统。
- Cassandra™:可扩展的多主数据库,没有单点故障。
- Chukwa™:一种用于管理大型分布式系统的数据收集系统。
- HBase™:可扩展的分布式数据库,支持大型表的结构化数据存储。
- Hive™:一种数据仓库基础结构,可提供数据汇总和即席查询。
- Mahout™:可扩展的机器学习和数据挖掘库。
- Pig™:用于并行计算的高级数据流语言和执行框架。
- Spark™:一种用于Hadoop数据的快速通用计算引擎。Spark提供了一种简单而富有表现力的编程模型,该模型支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。
- Submarine:一个统一的AI平台,允许工程师和数据科学家在分布式集群中运行机器学习和深度学习工作负载。
- Tez™:基于Hadoop YARN的通用数据流编程框架,它提供了强大而灵活的引擎来执行任意DAG任务,以处理批处理和交互用例的数据。Hadoop生态系统中的Hive™,Pig™和其他框架以及其他商业软件(例如ETL工具)都采用了Tez,以取代Hadoop™MapReduce作为基础执行引擎。
- ZooKeeper™:针对分布式应用程序的高性能协调服务。

3.官网学习Hadoop的安装与使用,用文档的方式列出步骤与注意事项。http://www.apache.org/
Hadoop安装分两个平台,一个是Linux,一个是Windows。 下面以Windows为例:
1.Hadoop 2.2及更高版本包括对Windows的本地支持。
2.选择Windows10安装
3.选择Java版本并设置JAVA_HOME
Oracle JDK 1.7和1.6版已经由Hadoop开发人员进行了测试,并且可以正常工作。
4.获取Hadoop源
5.安装依赖关系并设置构建环境
该BUILDING.txt源树的根文件有要求的列表以及如何安装它们的详细信息。它还包括有关设置环境的信息以及Windows特有的一些怪癖。强烈建议您在继续之前阅读并理解它。
6.关于本机IO支持的几句话
Linux上的Hadoop包括可选的Native IO支持。但是,Native IO在Windows上是必需的,没有它,您将无法使安装正常工作。您必须按照BUILDING.txt中的所有说明进行操作,以确保正确构建了Native IO支持。
7.生成并复制包文件
要构建二进制发行版,请从源树的根目录运行以下命令。mvn软件包-Pdist,native-win -DskipTests -Dta
8.安装
9.HDFS配置示例
10.YARN配置示例
11.初始化环境变量
运行c:\ deploy \ etc \ hadoop \ hadoop-env.cmd来设置启动脚本和守护程序将使用的环境变量。
12.格式化文件系统
%HADOOP_PREFIX%\ bin \ hdfs目的-format
13.启动HDFS守护程序
Hadoop演进与Hadoop生态的更多相关文章
- Hadoop生态圈-大数据生态体系快速入门篇
Hadoop生态圈-大数据生态体系快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.大数据概念 1>.什么是大数据 大数据(big data):是指无法在一定时间 ...
- 【从零开始学习Hadoop】--1.Hadoop的安装
第1章 Hadoop的安装1. 操作系统2. Hadoop的版本3. 下载Hadoop4. 安装Java JDK5. 安装hadoop6. 安装rsync和ssh7. 启动hadoop8. 测试had ...
- 从零自学Hadoop(11):Hadoop命令上
阅读目录 序 概述 Hadoop Common Commands User Commands Administration Commands File System Shell 引用 系列索引 本文版 ...
- 从零自学Hadoop(12):Hadoop命令中
阅读目录 序 HDFS Commands User Commands Administration Commands Debug Commands 引用 系列索引 本文版权归mephisto和博客园共 ...
- Hadoop:部署Hadoop Single Node
一.环境准备 1.系统环境 CentOS 7 2.软件环境 OpenJDK # 查询可安装的OpenJDK软件包[root@server1] yum search java | grep jdk... ...
- 【hadoop】——修改hadoop FileUtil.java,解决权限检查的问题
在Hadoop Eclipse开发环境搭建这篇文章中,第15.)中提到权限相关的异常,如下: 15/01/30 10:08:17 WARN util.NativeCodeLoader: Unable ...
- Maven构建Hadoop Maven构建Hadoop工程
一.安装maven linux eclipse3.6.1 maven安装 二:官网依赖库 我们可以直接去官网查找我们需要的依赖包的配置pom,然后加到项目中. 官网地址:http://mvnrepos ...
- hadoop入门:hadoop使用shell命令总结
第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin 包括:Hadoop hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值 HAD ...
- 何时使用hadoop fs、hadoop dfs与hdfs dfs命令(转)
hadoop fs:使用面最广,可以操作任何文件系统. hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后 ...
随机推荐
- 精确到小数点后n位的两种方法
引言:大家在写程序中多多少少会遇到这个问题,特别对一些初学者会出现这个问题,做个ACM竞赛的同学肯定都会用C语言的printf格式控制输出,但是习惯于用C++的同学也不是一点办法都没有啊,这篇blog ...
- PythonCrashCourse 第十章习题
在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以"In Python you can"打头.将这个文件命名为 learning_pytho ...
- 关于Redis的工作模式
1.哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master. 缺点 ...
- 记录一下前端性能优化-为何操作DOM会变慢?
对于大多数前端来说,性能优化的方法可能包括以下这些: 减少HTTP请求(合并css.js,雪碧图/base64图片) 压缩(css.js.图片皆可压缩) 样式表放头部,脚本放底部 使用CDN(这部分, ...
- random模块python
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.random() 用于生成一个随机浮点数:range[0.0,1.0) ? 1 2 import ran ...
- 华为云服务器基于hadoop2.7.5安装hive-2.3.7
1. Hive简介 The Apache Hive data warehouse software facilitates reading, writing, and managing large d ...
- MyTerm入选北极代码库计划,喜获「Arctic Code Vault Contributor」勋章
- ajax请求默认都是异步请求,怎么变为同步请求
Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.PHP", as ...
- 前端模块化IIFE,commonjs,AMD,UMD,ES6 Module规范超详细讲解
目录 为什么前端需要模块化 什么是模块 是什么IIFE 举个栗子 模块化标准 Commonjs 特征 IIFE中的例子用commonjs实现 AMD和RequireJS 如何定义一个模块 如何在入口文 ...
- ent orm笔记4---Code Generation
在前面几篇文章中,我们经常使用的可能就是entc这个命令了,entc这个工具给带来了很多功能,这篇文章主要整理关于ent orm 中Code Generation 之前的例子中有个知识点少整理了,就是 ...