分布式计算课程笔记

字节(B)‌:存储的基本单位,1KB=1024B

‌千字节(KB)‌:1KB=1024B

‌兆字节(MB)‌:1MB=1024KB

‌吉字节(GB)‌:1GB=1024MB

‌太字节(TB)‌:1TB=1024GB

‌拍字节(PB)‌:1PB=1024TB

‌艾字节(EB)‌:1EB=1024PB

‌泽字节(ZB)‌:1ZB=1024EB

‌尧字节(YB)‌:1YB=1024ZB

‌诺字节(NB)‌:1NB=1024YB

‌度字节(DB)‌:1DB=1024NB

1 PB = 1024 TB

1 EB = 1024 PB

1 ZB = 1024 EB

1 YB = 1024 ZB

1 NB = 1024 YB

1 DB = 1024 NB

大数据的定义:

1.volume:体积(大量化):存储量大,增量大(TB,PB,EB)

2.Vaniety种类多:来源多,格式多

格式多

结构化数据:有固定格式。关系型数据库(Mysql),excel,交易记录

半结构化数据:具有一定层次结构。JSON文件,XML文件,文件邮件

非结构化数据:无固定格式。偏向算法

自然语言处理NLP:文本文件,图片,音乐,二进制数据

计算机视觉:人脸识别,物品检测

语言识别:语言转文字

3.Velocity:快速化

4.Value :价值密度低

解决大数据问题的核心是大数据技术

2003年,Google公司发表论文The Google File System,介绍GFS分布文件系统,主要讲解海量数据的可靠存储方法

2004年,Google公司发表论文MapReduce:Simplified Data Processing on Large Clusters,介绍并行计算模式MapReduce,海量数据的高效计算方法。

2006年,Google发表国Bigtable:A districted Storage System for Structed Data,介绍Google的大表Bigtable的设计。Bigtable是Google公司的分布式数据存储系统,是用来处理海量数据的一种非关系型数据库。

Google的三驾马车:GFS,MapReduce,BigTable

GFSS思想:

数据节点:数据块

管理节点:数据元文件(文件名,文件块,文件块所在数据节点)

数据块保持:可靠性和可用性

1.2.1 Google思想一:GFS分布式文件系统

GFS的架构

a. Master节点管理所有的文件系统元数据

√名字空间

√ 访问控制信息

√ 文件和块的映射信息

√ 以及当前块的位置信息

b.GFS存储的文件都被分割成固定大小的块,每个块都会复制到多个块服务器上(可靠性)。默认使用3份。

c.Master还管理着系统范围内的活动,比如块服务器之间的数据迁移等。

d. Master与每个块服务器通讯(发送心跳包),发送指令,获取状态。

1.2.2 Google思想二:MapReduce

MapReduce采用“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各今子节点共同完成,然后整合各个子节点的中间结果,得到最终的计算结果。
简而言之,MapReduce就是“分散任务,汇总结果”
Rowkey (主键):不能删,必须要
存在

分散任务,汇总结果

1.2.3 Google思想三:BigTable

Big Tablet架构如图

思想:

把所有的数据存入一张表

通过牺牲空间,来换取时间

违背关系型数据库范式的要求

问题:引起数据的冗余

优点:提高性能 面向列

Tablet Server存储多个Tablet

1.3.1 HDFS

HDFS:Hadoop Distributed File System,是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础。

它是对GFS论文的实现。

HDFS下面包含:

NameNode名称节点

SecondaryNameNode第二名称节点(默认在NameNode上)

DataNode

机架感知,决定数据块保存的位置

Hadoop特点:

(1)高可靠性
(2)高扩展性
(3)高效性
(4)高容错性

jps 查看集群所有进程

一、HDFS概述

hdfs产生背景:

随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。

hdfs定义:

HDFS (Hadoop Distributed File System) 是一个文件系统,用于存储文件,通过目标树来定位文件;其次,他是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。

1.1 HDFS优缺点

优点

1.高容错性:数据自动保存多个副本。它可以通过增加副本的形式,提高容错性。某一个副本丢失后,它可以自动恢复。

2.适合处理大数据

  1.数据规模:能够处理数据规模达到GB, TB, PB级别的数据,EB

  2.文件规模:能够处理百万规模以上的文件数量,数量相当之大。

  3.可构建在廉价机器上,通过多副本机制,提高可靠性。

缺点

1不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。

2无法高效的对大量小文件进行存储。

  (1)存储大量小文件的话,它会占用NameNode大量的内存来存储文件目录和块信息。这样是不可取的,因为NameNode的内存总是有限的,(每个文件(不管是1kb还是1GB)的元数据都会占用大约150B,为了提高速度,NameNode存储在内存中,一般内存是128G,因此要避免大量小文件的存储)。

  (2) 小文件存储的寻址时间会超过读取时间,它违反了HDFS的设计目标。

3 不支持并发写入、文件随机修改。

   (1) 一个文件只能有一个写,不允许多个线程同时写;
  (2) 仅支持数据append (追加),不支持文件的随机修改。

NameNode(nn):就是Master,他是一个主管,管理者。
   管理HDFS的名称空间
   配置副本策略
   管理数据块(Block)映射信息处理客户端读写请求。


DataNode 就是slave.NameNode下达命令,DataNode执行实际操作。
  存储实际的数据块
  执行数据块的读/写操作


Cilent:客户端
   文件切分。文件上传hdfs的时候,Clien将文件切分成一个个的Block,然后进行上传。           与NameNode交互,获取文件的位置信息。
   与DataNode交互,读取或者写入数据
   Client提供一些命令来管理hdfs,比如NameNode格式化 hdfs namenode -format       Client可以通过一些命令来访问HDFS,比如HDFS增删改查操作。


Secondary NameNode:并非NameNode的热备。当NameNode挂掉的时候,他并不能马上替换NameNode并提供服务。
  辅助NameNode, 分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode;
  在紧急情况下,可辅助恢复NameNode

1.3 hdfs文件块大小
  HDFS中的文件在物理上是分块储存 (Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小Hadoop2.X/3.X版本中是128M,1.X版本是64M。

Chgrp:changegroup修改文件/目录的所属组

Hadoop fs -chgrp developers /youxi/wangzheerongyao/libai.txt

chmod用户类别,操作符,权限,文件/目录

1.用户类别:u所有者user;g所属组别group;o其他用户others;a所有用户all,默认

2.操作符:+增加权限;-移除权限;=直接设置权限;-无权限=0

3.权限;r:读;w:写;x:执行

4.Chmod u+x libai.txt
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值