大数据学习笔记(一)_Hadoop简述

Hadoop 生态圈
在这里插入图片描述

官网概述:
The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.

百度词条: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:提供分布式的存储(一个文件被拆分成很多个块,并且以副本的方式存储在各个节点中)和计算
是一个分布式的系统基础架构:用户可以在不了解分布式底层细节的情况下进行使用。
其中有:
分布式文件系统:HDFS(Hadoop Distributed File System)实现将文件分布式存储在很多的服务器上
分布式计算框架:MapReduce实现在很多机器上分布式并行计算
分布式资源调度框架:YARN实现集群资源管理以及作业的调度

常用的Hadoop发行版

CDH:https://www.cloudera.com/   (大部分公司都采用)
	优点:cm(cloudera manager) 通过页面一键安装各种框架、升级
	缺点:cm不开源、与社区版本有些许出入

Hortonworks:HDP  企业发布自己的数据平台可以直接基于页面框架进行改造
	优点:原装Hadoop、纯开源、支持tez
	缺点:企业级安全不开源
	
Apache: http://hadoop.apache.org/
	优点:纯开源
	缺点:不同版本/不同框架之间整合 jar冲突  (需要自己进行整合jar 的冲突)

后面的大数据Hadoop 的学习 采用的是 CDH 版本

一:HDFS 概念

HDFS官方指南:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.12.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

此处摘抄几点:

HDFS 体系结构图描述了 NameNode、DataNodes 和客户端之间的基本交互。客户端联系 NameNode 以进行文件元数据或文件修改,并直接使用 DataNodes 执行实际文件 I/O

HDFS前提和设计目标
Hardware Failure 硬件错误
每个机器只存储文件的部分数据,blocksize=128M
block存放在不同的机器上的,由于容错,HDFS默认采用3副本机制
Streaming Data Access 流式数据访问
The emphasis is on high throughput of data access
rather than low latency of data access.
Large Data Sets 大规模数据集
Moving Computation is Cheaper than Moving Data 移动计算比移动数据更划算

二:HDFS的架构

1) NameNode(master) and DataNodes(slave)
2) master/slave的架构
3) NN: 
	the file system namespace
		/home/hadoop/software
					/app
	regulates access to files by clients
4)DN:storage
5)HDFS exposes a file system namespace and allows user data to be stored in files.
(HDFS公开了一个文件系统命名空间,允许用户数据存储在文件中)
6)a file is split into one or more blocks(一个文件被分为多个块)
	blocksize: 128M 
	150M拆成2个block
7)blocks are stored in a set of DataNodes(块存储在一组datanode中)
8)NameNode executes file system namespace operations:CRUD(NameNode执行各种操作)
9)determines the mapping of blocks to DataNodes
10)通常情况下:1个Node部署一个组件

HDFS 会将文件拆分成块 并已多副本的方式 进行分布式存储
三个基本概念:文件、块、副本
文件:test.txt 大小:200M
块(block):默认的blocksize是128M,将文件分成 2个块 = 1个128M + 1个72M
副本:HDFS默认3副本机制
假设有4台机器 Node1 到 Node4
文件 test.txt 被分为2块 为 bk1(128M) 和 bk2(72M)
那么HDFS 将会把块进行3副本进行存储
即:
Node1 上有:bk1,bk2
Node2上有:bk1
Node3 上有:bk2
Node4 上有:bk1,bk2

这样,就算其中一台机器损坏了,也不影响整个文件(容错性)
三副本示意图

hadoop软件包常见目录说明
bin:hadoop客户端名单
etc/hadoop:hadoop相关的配置文件存放目录
sbin:启动hadoop相关进程的脚本
share:常用例子

hadoop官网 http://hadoop.apache.org/
CDH版本 官网:http://archive.cloudera.com/

Apache社区的顶级项目:xxxx.apache.org
hadoop.apache.org
hive.apache.org
hbase.apache.org
spark.apache.org
flink.apache.org
storm.apache.org

猜你喜欢

转载自blog.csdn.net/sinat_34979884/article/details/111629013