hadoop和hdfs

本文介绍了Hadoop的起源、核心组件以及生态圈,包括HDFS的产生背景、特点、应用场景和架构设计。Hadoop的核心组件包含HDFS、MapReduce和Yarn,而HDFS是一个高容错和高可用的分布式文件系统,适用于大规模数据集的存储。文章还详细讨论了HDFS的读写流程,并通过Java API展示了如何操作HDFS文件。
摘要由CSDN通过智能技术生成

一.hadoop

1.项目起源

Hadoop由 Apache Software Foundation 公司于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。

2.核心组件

核心组件包括Hadoop的基础组件HDFS、MapReduce和Yarn,以及其他常用组件如:HBase、Hive、Hadoop Streaming、Zookeeper等。

3.组件介绍

  • HDFS:分布式海量数据存储功能
  • Yarn:提供资源调度与任务管理功能
  1. 资源调度:根据申请的计算任务,合理分配集群中的计算节点(计算机)。
  2. 任务管理:任务在执行过程中,负责过程监控、状态反馈、任务再调度等工作。
  • MapReduce:分布式并行编程模型和计算框架。解决分布式编程门槛高的问题,基于其框架对分布式计算的抽象map和reduce,可以轻松实现分布式计算程序。
  • Hive:提供数据摘要和查询的数据仓库。解决数据仓库构建问题,基于Hadoop平台的存储与计算,与传统SQL相结合,让熟悉SQL的编程人员轻松向Hadoop平台迁移。
  • Streaming:解决非Java开发人员使用Hadoop平台的语言问题,使各种语言如C++、python、shell等均可以无障碍使用Hadoop平台。
  • HBase:基于列式存储模型的分布式数据库。解决某些场景下,需要Hadoop平台数据及时响应的问题。
  • Zookeeper:分布式协同服务。主要解决分布式下数据管理问题:统一命名、状态同步、集群管理、配置同步等。

4.生态圈

 5.Ambari平台环境介绍

  • Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。
  • 同类产品为Cloudera Manager的CDH。
  • 优点:
  1. Web安装图形界面操作便捷
  2. Hadoop家族各组件支持全面
  3. 社区资源比较丰富
  • 缺点:
  1. Bug较多:安装过程中,莫名其妙的出现错误。系统运维过程中偶尔出错。以上两种情况重启就正常。
  2. 安装速度与网络质量关系较大,往往时间较长。

在合理避免大坑的情况下,3小时内可以搭建一个基本版的集群。

二.HDFS

1.产生背景

传统的本地文件系统(单机式),在数据量增长过快、数据备份、数据安全性、操作使用便捷性上存在严重不足。

2.特点介绍

  • 高容错和高可用性,硬件错误是常态而不是异常

HDFS设计为运行在普通硬件上,所以硬件故障是很正常的。HDFS提供文件存储副本策略,可以实现错误自检并快速自动恢复。个别硬件的损坏不影响整体数据完整性和计算任务的正常执行。

  • 流式数据访问

HDFS主要采用流式数据读取,做批量处理而不是用户交互处理,因此HDFS更关注数据访问的高吞吐量。

  • 弹性存储,支持大规模数据集

HDFS支持大文件存储,典型的文件在GB甚至TB级别,可以支持数以千万计的大规模数据集。根据业务需要灵活的增加或者缩减存储节点。弹性存储的最大挑战是减小在修改存储节点时的数据震荡问题。

  • 简单一致性模型

HDFS文件实行一次性写、多次读的访问模式。设计为文件一经创建、写入和关闭之后就不需要再更改了,这种设计和假定简化了数据一致性问题,使高吞吐量成为可能。

  • 移动计算而非移动数据

由于HDFS支持大文件存储,对于大文件来说,移动计算比移动数据的代价要低。这样也可以减少网络的拥塞和提高系统的吞吐量。

  • 协议和接口多样性

为上层应用提供了多种接口,Http RestFul接口、NFS接口、Ftp接口等等POSIX标准协议,另外通常会有自己的专用接口。

  • 多样的数据管理功能

对于数据压缩、数据加密、数据缓存和存储配额等提供了多样的管理功能。

3.应用场景

  • 各大电信运营商
  • 中大型互联网公司,如BAT、京东、乐视、美团等
  • 金融银行保险类公司
  • 各大云平台底层存储平台
  • 其他本地系统无法承载存储能力的应用

HDFS架构设计

1.HDFS是什么

HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。

由论文为GFS(Google File System)Google 文件系统启发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值