2213-梁同学-大数据方向-就业:是 已关闭

2213-梁同学-大数据方向-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

MapReduce:分布式文件计算系统

核心思想:分治

最主要的特点:把一个大的问题,划分成很多小的子问题,并且每个小的子问题的求取思路与我们大问题的求取思路一致

主要阶段:两个

map阶段:负责拆分

reduce阶段:负责聚合

[展开全文]

www.cloudera.com

using the CDH 5 Maven Repository

hdfs的javaAPI操作会抛出一个异常

winutils异常:因为我们需要在windows上面装一个hadoop的客户端环境,需要在Windows下面重新编译hadoop

如何解决winutils的问题

第一步:把winutils拷贝到一个没有中文没有空格的目录中去

第二步:配置windows的hadoop_home环境变量

第三步:拷贝bin/hadoop.dll放到c:\windows/system32中去

第四步:关闭windows重启

 

[展开全文]

hdfs当中的元数据信息管理
fsimage:存储的是一份比较完整的元数据信息

edits:最近一段时间的操作日志

控制edits文件的大小:时间长短,文件大小

通过secondaryNamnode将我们的edits文件合并到fsimage上面去

[展开全文]

fsimage:保存的是一份最完整的元数据信息,一份比较完整的元数据信息,存放在两个地方,一个是磁盘,一个是内存

hdfs文件可以保存多少数据,取决于namenode的内存大小,hdfs推荐存储大量的大文件地方,不擅长存储小文件(因为namenode是单机的,无法像datanode一样横向扩展)

edits:保存的是最近一段时间操作的元数据信息

secondaryNamenode负责合并fsimage和edits

 

如何确定的edits与fsimage如何合并

文件大小和时间长短

[展开全文]

文件占用磁盘空间大小只与文件大小有关系,跟多少个block块没关系;

读取文件的时候需要把三个block块都读取出来,拼接起来就是一个最完整的文件

2.x默认block块大小是128M,3.x默认是256M

文件的副本数是三个

namenode负责更新保存元数据信息

datanode负责处理用户的读写数据

客户端通过namenode查找某个数据的所有block块在哪些datanode上面,然后就去datanode上面读取数据

数据副本的存放机制:namenode会首先找离客户端最近的一台机器上传block块,然后再去做备份

何为最近:跨交换机跨得最少即为最近

namenode负责数据block块的复制,定期检测block的副本数,如果不够3个,继续复制

namenode的元数据保存在两个地方,一个是内存;一个是磁盘,存的是元数据的快照,如果快照非常大,停机再启动代价非常大 

block块的大小,可以根据实际工作当中的文件特性来调整,如果都是一些大文件,可以稍微调大block块的大小,

块缓存:distributedCache 可以用来实现文件缓存

hdfs的权限验证:采用与linux类似的权限验证,权限验证较弱

 

心跳机制

[展开全文]

hdfs分布式文件系统设计的目标:

1、硬件错误是常态,特别是硬盘的损坏是常态。解决方式:引入副本机制

2、数据流访问,所有的数据访问都是访问大量的数据,使用IO流一直操作,追求的是稳定,不是效率

3、大数据集 假设所有存储到hdfs的数据都是海量的数据,不擅长处理小文件,因为一个小文件占用一个元数据,元数据都存储爱内存当中,占用namenode大量内存

4、简单的相关模型 假设文件是一次写入,多次读取,不会有频繁的更新,比较擅长存储一些历史数据

5、移动计算比移动数据便宜

6、多种软硬件的可移植性

[展开全文]

分布式文件系统HDFS:

详细介绍

hdfs的架构图

hdfs的元数据信息的管理

hdfs的JavaAPI操作

分布式文件计算系统MapReduce的入门:

写一个wordcount单词计数

hadoop的文件系统:

文件系统:是一个顶层的抽象,具体的实现,需要取决于你自己获取的实例,可以通过文件系统获取本地文件系统,操作Linux磁盘上面的文件,也可以获取分布式文件系统,操作hdfs上面的文件

ftp://ftp文件系统,可以做文件的上传下载

webHdfs:浏览器操作文件系统,可以允许我们通过浏览器上传,下载,修改,hdfs上面的文件

hdfs:分布式文件系统

local:本地文件系统

[展开全文]

hadoop1.x与2.x的架构模型区别:

1.x架构:

HDFS:

namenode:主节点,管理元数据信息,处理用户的请求

secondaryNamenode:辅助namenode管理元数据

datanode:从节点,主要用于存储数据

MapReduce:

JobTracker:主节点,接收用户请求,分配任务

tastTracker:从节点,主要用于执行任务

2.x架构:

HDFS:分布式文件存储系统

namenode:主节点,管理元数据信息,处理用户的请求

secondaryNamenode:辅助namenode管理元数据信息

datanode:从节点,主要用于存储数据

如果namenode是ha的模式

juornalnode:同步namenode之间的元数据信息

zkfc:zkFiloverController守护进程,监看namenode的健康状况

yarn:资源调度系统

resourcemanager:主节点,接收用户请求,分配资源

nodemanager:执行任务

 

Apache三种环境的搭建:

standAlone:单机版的hadoop运行环境

伪分布式:所有的主节点都在同一台机器上面,从节点分开

完全分布式:把所有的主节点,完全分开到不同的机器上面去

 

CDH版本的hadoop的重新编译

为什么重新编译cdh版本的hadoop:

因为cdh版本的lib/native本地库没有任何c程序,重新编译为了支持我们的本地库的c成语以及snappy的压缩

分布式文件系统HDFS

详细介绍

hdfs的架构图

hdfs的元数据信息的管理

hdfs的JavaAPI操作

分布式文件计算系统MapReduce的入门

写一个wordcount单词计数

 

 

[展开全文]

重点掌握:

hadoop的基本架构:

hadoop1.x:

hdfs:

namenode:主节点,存储元数据信息,处理用户的请求

secondaryNamenode:主要是辅助namenode管理元数据信息的

datanode:从节点,存储数据,出磁盘

mapReduce:

jobTracker:主节点,接收用户的请求,分配任务

taskTracker:从节点,主要用于接受jobTracker分配的任务,并执行任务

 

hadoop2.x中的架构:

hdfs:分布式文件存储系统

namenode:主节点,主要用于存储元数据信息,处理用户的请求

secondaryNamenode:主要是辅助namenode管理元数据信息

datanode:从节点,主要用于存储数据,出磁盘

如果namenode是高可用,那么就没有secondaryNamenode了,多了journalnode,并且journalnode最好是奇数个

journalNode:同步元数据信息,保证两个那么namenode、里面的元数据一模一样,不然会出现脑裂

zkfc:zkFailoverController 守护进程,与我们的namenode启动在同一台机器,监听namenode的健康状况

 

yarn资源调度系统:

resuorceManager:主节点,主要用于接收用户请求,分配资源

nodeMannager:从节点,执行任务

 

apache的hadoop三种运行环境的搭建

standAlone环境:单机版的hadoop运行环境

伪分布式环境:主节点都在一台机器上面,从节点分开到其他机器上面

完全分布式环境:主节点全部都分散到不同的机器

 

cdh

[展开全文]

hdfs的特性:

master/slaves架构:主从架构

namenode:主节点,主要用于存储元数据,处理用户的请求

datanode、:从节点,主要用于存储数据,出磁盘的角色

分块存储:把一个打的文件,化成一个个晓得block块,在hadoop2.0中一个block块默认是128M大小

统一的命名空间:对外提供统一的文件访问的地址hdfs://hadoop102:8020

[展开全文]

真是的服务器性能,写入速度大概在20-30M每秒

[展开全文]

hdfs的安全模式“在集群刚刚启动时,集群是处于安全模式的,对外不提供任务服务,专门进行

[展开全文]

 所有的hdfs用户都存放在user中

[展开全文]

hdfs的权限管理:

hdfs dfa -chmod -R 777 /xxx

hdfs dfs -chmod -R yalin:yalin /xxx

[展开全文]

hdfs:分布式文件存储系统

yarn:资源调度系统,可以运行我们的MapReduce程序

/opt/module/hadoop-2.6.0-cdh5.14.0/share存放的各种jar包

 

本地文件系统:

就是hadoop02的本地磁盘

hdfs分布式文件系统:每个机器出一些磁盘,凑成一个大的硬盘,磁盘的容量来自各个服务器的硬盘容量之和

 

新命令 :hdfs dfs

例:计算圆周率

hadoop jar  /opt/module/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar pi 3  5

[展开全文]

完全分布模式环境的安装

hdfs模块:

journalNode:在两个namenode之间同步元数据信息

zkfc:守护进程,监看namenode运行的健康信息报告

[展开全文]

CDH官网:

www.cloudera.com

安装包 

[展开全文]

Hadoop的六个配置文件的作用:

core-site.xml:核心配置文件,主要是定义了集群是分布式还是本机运行

hdfs-site.xml:分布式文件系统的核心配置,决定了我们数据存放在哪个路径,数据的副本,数据的block块大小等等

Linux磁盘空间查看 df -lh

dfs.blocksize:文件block块的大小

 

hadoop-env.sh 配置了jdk的home路径

mapred-site.xml,定义了我们关于MapReduce

运行的一些参数

yarn-site.xml:定义我们的yarn集群

slaves定义了我们的从节点是哪些机器 datanode ,nodemanager运行在哪些机器上

Hadoop的格式化:只在初始化集群的时候执行一次 

 

http://192.168.211.102:50070/

50070:默认查看hdfs集群

http://192.168.211.102:8088/

8088:默认看yarn集群

http://192.168.211.102:19888/

19888默认查看历史

[展开全文]

文件系统:存放的数据都能够找到

元数据:  描述数据的数据

MapReduce分布式文件计算系统:

jobtracker:主节点,接收用户请求,分配任务给taskTracker去执行

taskTracker:从节点,主要用于接受jobTracker分配的任务

 

namenode高可用:

namenode active状态:处于活跃的主节点,处理用户请求,维护元数据信息

namenode stand状态:处于备份的节点,活跃的主节点死了之后,备份的节点,马上切换为活跃的主节点对外提供服务

注意:如果namenode高可用,那么一定要保证namenode的元数据信息同步一致,如果不一致,就会出现脑裂的问题

所以为了解决元数据共享的问题,引入journal node的机制,专门用于同步元数据信息

zkfc:namenode的守护进程,主要用于监听namenode什么时候死掉,死掉之后,马上通知另外一个namenode切换为主节点

 

 

 

 

[展开全文]

apache版本的Hadoop三种运行环境的介绍:

1.standAlone:单机版的Hadoop运行环境

2.伪分布式:主节点都在一台机器上面,从节点分开到其他机器上面

namenode resourcemanager

3.完全分布式环境:主节点全部都分散到不同的机器 namenode active占用一台机器,resourcemanagerstandby占用一台机器

 

Hadoop的本地库:lib/native 本地库很重要,里面集成了一些c程序,包括一些压缩的支持

bin/hadoop native 检测Hadoop的本地库,是否支持

默认的Apache的版本的压缩方式snappy不支持,需要重新编译 

 

下载网址:https://archive.apache.org/dist/hadoop/common/

 

/opt/module/hadoop-2.7.5/lib/native hadoop的本地库

 

 

 

[展开全文]