Hadoop笔记--S1
1.1大数据处理的两种方法区别及联系
1.1.1向上扩展:
实现途径:迁移软件之更高硬件的服务器上进行处理。
优点,系统架构并不会随着数据量的增大而发生显著变化。尽管采用了更大型的不见,但部件之间的基本关系(例如数据服务器和存储矩阵)却依然保持一致。
1.1.2向外扩展:
实现途径:并不是通过升级系统硬件来获得更强大的处理能力,而是将数据处理任务分发给更多的机器。
优点采购成本降低,但软件成本会随处理能力的增长而激增。
1.1.3联系:向上拓展架构的必然趋势是加入向外拓展的策略,将二者结合起来。综合吸收了两种方法的部分优点,但也综合了两种方法的缺陷和成本:但一的方法要么需要昂贵的硬件,要么需要手动开发跨集群的逻辑,而在混合架构中缺一不可。
1.1.4向上扩展架构的终极趋势和成本曲线导致其在大数据领域鲜有应用,而向外扩展的架构却成了事实上的标准。
注意:如果要处理的数据涉及到很强的内部交叉引用,并需要保证事务的完整性,那么应基于向上拓展架构。
1.1.5集群中的一个系统应尽可能的保持相互独立。不应使用同一个共享存储系统保存所有数据,如果此节点宕机将会导致整个工作瘫痪,所以应避免此种情况发生。
1.1.6系统可用性的计算方法
系统可用性=各个不可缺失节点可用性的积
如:系统至少5台可靠性为99.99%的服务器,才可运行。那么该系统的可用性为5*99.99%=95%
系统正常运行时间与各个组件的可靠性临界点相关。
1.2.1Hadoop的组成部分
最主要的两个子项目是HDFS(Hadoop分布式文件系统)和MapReduce。
HDFS是一个可以存储极大数据集的文件系统,他是通过向外扩展的方式构建的主机集群。有着独特的设计和性能特点,以时延为代价对吞吐量进行优化,并且通过副本替换冗余达到了高可靠性。
MapReduce是一个数据处理范式,规范了数据在两个处理阶段(被称为Map和Reduce)的输入和输出,并将其应用于任意规模的大数据集。
其二者紧密结合,确保在任何情况下,MapReduce任务直接在存储所需数据的HDFS节点运行。
1.2.2HDFS简介
1)通常以最小64M存储数据块文件
2)在时延的基础上对吞吐量进行了优化能够高效处理对大文件的读请求流,但不擅长对小文件的定位请求
3)对普遍的“一次写入,多次请求”的工作负载进行了优化
4)每个存储节点上运行着一个称为DataNode的进程,它管理者相应主机上的所有数据块。这些存储节点由名为NameNode的主进程协调,该进程运行在一台独立的主机上。
5)使用副本来处理故障。每个由文件组成的数据块存储在集群多个节点,HDFS的NameNode不断监视各个DataNode发来的报告,以确保发生故障时,任意数据块的副本数量都大于用户配置的复制因子。否则NameNode将会在集群中调用新增一个副本。
1.2.3MapReduse简介
关键的基本概念是”分而治之”。基本原则是将但个问题分解成多个独立的子任务并发执行。
仅要求将数据以一系列键值对的形式传递给map函数。map函数的输出是其他键值对的集合。reduce函数收集汇总最终的结果数据集。
一个典型的MapReduce作业包括多个mapper和reducer,通常这些mapper和reducer并不是很简单。Hadoop平台负责执行数据处理的各个方面。当执行MapReduce作业时,Hadoop决定在哪台主机执行代码才能最高效的处理数据集。如果不进行与HDFS的组合使用那么在哪台主机执行代码并不重要,因为存储系统本身是一个会引发竞争的共享系统。但如果使用HDFS作为存储系统,基于移动数据处理程序比迁移数据本身成本更低的原则,MapReduce就可以在存储目标数据的节点上执行数据处理过程了。HDFS与MReduce集群部署在同一组服务器上。其中每台服务器不仅承载了待处理数据及管理这些数据的HDFS组件,同时也承载了调度和执行数据处理过程的MapReduce组件。当Hadoop接收到作业后,尽可能对驻留在主机上的数据调度进行优化,达到网络流量最小化和性能最大化的目标。
注:主机或服务器通常指的是承载各种Hadoop组件的物理硬件。节点指的是作为集群组成部分的软件部件。
纯手打,仅供个人学习使用.
相关推荐
很不错的hadoop基础教程,就是书有点老了,可以作为基础拿来看
大数据之Hadoop学习教程+笔记合计_超详细完整.zip
Hadoop 云计算 2.0 笔记第一课 Hadoop 介绍 Hadoop 云计算 2.0 笔记第一课 Hadoop 介绍中,我们可以了解到 Hadoop 的生态系统特点、Hadoop 生态系统概况、Hadoop 生态系统版本衍化、下一代 Hadoop、Hadoop 学习...
Hadoop 3.x 笔记 Hadoop 是一个基于分布式存储的大数据处理框架,本文档将详细介绍 Hadoop 3.x 的配置和底层原理,从零搭建集群以及解决遇到的问题,通过图形化的方式更好地理解 Hadoop 的作用。 一、HDFS 组成 ...
Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境包括Java Development Kit...
大数据Hadoop视频教程大数据Hadoop视频教程大数据Hadoop视频教程
Hadoop不仅是一种大数据存储技术,也是一种大数据分析技术,能够支持海量数据的快速查询、归档、数据挖掘和预测等应用。 【Hadoop的应用模式】Hadoop广泛应用于多个领域,如实时流处理(如STORM)、快速数据分析...
hadoop教程ppt.ppt
这个教程将指导你如何在Ubuntu 12.04操作系统上安装和配置Hadoop 1.0.4,这对于初学者来说是一个很好的起点。 **1. 安装Java Development Kit (JDK)** 在安装Hadoop之前,你需要先安装JDK,并配置相应的环境变量。...
云计算,hadoop,学习笔记, dd
非常详细的linux上的hadoop集群搭建文档,可供参考,希望大家能够从中获益
Hadoop 2.0 生态系统第一章 关键技术Hadoop分布式文件系统2
Hadoop 2.0 生态系统第一章 关键技术Hadoop生态系统-课程介绍2
hadoop搭建集群笔记.虚拟机搭建hadoop集群
Hadoop是一种开源的分布式存储和计算平台,它为存储和处理大数据提供了可扩展的解决方案。Hadoop能够高效地处理和分析大量的数据集,特别适合于海量数据的存储和分析。本文将详细介绍Hadoop集群的安装和配置,以及...
Hadoop 2.0 生态系统第一章 关键技术MapReduce