Hadoop演进与Hadoop生态

------------恢复内容开始------------

1、了解对比Hadoop不同版本的特性,可以用图表的形式呈现。

Apache hadoop:Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。称为社区版Hadoop。

第三方发行版Hadoop:Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本。其中有很多厂家在Apache Hadoop的基础上开发自己的Hadoop产品,比如Cloudera的CDH,Hortonworks的HDP,MapR的MapR产品等。

Apache社区版本

优点:

  1. 完全开源免费。
  2. 社区活跃
  3. 文档、资料详实

缺点:

  1. 复杂的版本管理。版本管理比较混乱的,各种版本层出不穷,让很多使用者不知所措。
  2. 复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下。
  3. 复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大。
  4. 复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。

第三方发行版本(如CDH,HDP,MapR等)

优点:

  1. 基于Apache协议,100%开源。
  2. 版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4,CDH5 等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch。
  3. 比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境。
  4. 版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
  5. 基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
  6. 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。
  7. 运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。

2、Hadoop生态的组成、每个组件的作用、组件之间的互相关系,以图例加文字的形式描述呈现

 

 

 

 hadoop生态圈中包含很多组件,比如HDFS、Mapreduce、Hive、Hbase等等

HDFS:分布式文件系统。存储是大数据技术的基础

Mapreduce:计算模型

Yarn:改善MapReduce的缺陷

Hive:数据仓库

Hbase:数据仓库

Pig:数据分析平台,侧重数据查询和分析,而不是对数据进行修改和删除等。需要把真正的查询转换成相应的MapReduce作业

Zookeeper:协调服务

Avro:基于二进制数据传输高性能的中间件。数据序列化系统,可以将数据结构或对象转化成便于存储或传输的格式,以节约数据存储空间和网络传输贷款。适用于远程或本地大批量数据交互。

Chukwa:数据收集系统,帮助hadoop用户清晰了解系统运行的状态,分析作业运行的状态及HDFS的文件存储状态

相互关系:

HDFS:hadoop文件系统包含local(支持有客户端校验和的本地文件系统)、har(构建在其他文件系统上进行归档文件的文件系统,在hadoop主要被用来减少namenode的内存使用)、kfs(cloudstroe前身是Kosmos文件系统,是类似于HDFS和Google的GFS的文件系统)、ftp(由FTP服务器支持的文件系统)

Mapreduce:可用hive简化操作,完成简单任务

Hbase:查询简单、不涉及复杂关联的场景,如海量流水数据、交易记录、数据库历史数据

Pig:可看做简化mapreduce的高级语言

Avro:hadoop的RPC

Chukwa:Scribe存储在中央存储系统(NFS)、Kafka、Flume。看到一篇对于日志系统讲的比较清晰的,也做了分类比较,再次引用给大家。

3、官网学习Hadoop的安装和实用,用文档的方式列出步骤与注意事项

 安装流程

  1. 创建hadoop用户
  2. 配置Java环境
  3. 设置SSH登陆权限
  4. 单机安装,伪分布式安装

环境

  1. Buntu14.04以上都可以
  2. hadoop2.6.0
  3. jdk8

创建hadoop用户

  1. 以上命令描述了创建hadoop用户,并且使用了bash版本的shell
  2. 设置hadoop用户密码
  3. 将hadoop用户增加到sudo组,也就是可以在hadoop用户下用超级管理员权限

配置Java运行环境

安装SSH server并且配置无密码登录

  1. 远程Server收到Client端用户TopGun的登录请求,Server把自己的公钥发给用户。
  2. Client使用这个公钥,将密码进行加密。
  3. Client将加密的密码发送给Server端。
  4. 远程Server用自己的私钥,解密登录密码,然后验证其合法性。
  5. 若验证结果,给Client相应的响应。

退出连接输入

  1. 用户将自己的公钥存放在Server上,追加在家目录下.ssh目录中的文件authorized_keys(用户自己创建)中。
  2. Server端接收到Client的连接请求后,会在authorized_keys中匹配到Client的公钥pubKey,并生成随机数R,用Client的公钥对该随机数进行加密得到pubKey®,然后将加密后信息发送给Client。
  3. Client端通过私钥进行解密得到随机数R,然后对随机数R和本次会话的SessionKey利用MD5生成摘要Digest1,发送给Server端。SessionKey是会话密钥,是双方通信的时候随机产生的一种密钥。
  4. Server端会也会对R和SessionKey利用同样摘要算法生成Digest2。
  5. Server端会最后比较Digest1和Digest2是否相同,完成认证过程。

安装hadoop

伪分布式配置

启动hdfs

hadoop成功安装成伪分布式

关闭hadoop

4、评估华为Hadoop发行版本的特点与可用性

1、DKhadoop发行版:有效的集成了整个HADOOP生态系统的全部组件,并深度优化,重新编译为一个完整的更高性能的大数据通用计算平台,实现了各部件的有机协调。因此DKH相比开源的大数据平台,在计算性能上有了高达5倍(最大)的性能提升。DKhadoop将复杂的大数据集群配置简化至三种节点(主节点、管理节点、计算节点),极大的简化了集群的管理运维,增强了集群的高可用性、高可维护性、高稳定性。

2、Cloudera发行版:CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。

3、Hortonworks发行版:Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,其版本特点:HDP包括稳定版本的Apache Hadoop的所有关键组件;安装方便,HDP包括一个现代化的,直观的用户界面的安装和配置工具。

posted @ 2020-09-19 20:15  可乐去bing  阅读(159)  评论(0)    收藏  举报