1.hdfs的架构介绍

datanode定时向namenode做心跳汇报:

namenode管理元数据:

a.txt    /test/input/a.txt

元数据会记录a.txt的存储路径吗?不会记录存储路径,只会记录a.txt的存储节点node01,datanode做心跳的时候,将当前存储的列表返回给namenode

5.副本和块存储

dfs.replication   3

dfs.blocksize    128m   按字节

hdfs的权限验证:权限验证是比较薄弱的

			       只能防止好人做错事,不能防止坏人做坏事

6.fsimage和edits 2nn的作用

edits:记录当前用户的hdfs的操作记录

fsimage:镜像文件,所有的元数据最终都要保存到fsimage中

fsimage和edits最终要进行合并操作,由2nn进行元数据的合并。

7.hdfs的api

1.解决winutils报错的问题

	1)将hadoop解压后的目录放到一个没有中文、没有空格的的路径下

	2)配置一个hadoop的环境变量,并将bin目录加入到path中

	3)将hadoop.dll放入到system32下

8 小文件的合并

1)将小文件在本地进行合并,然后在上传到服务器中

2)sequenceFile,在服务器上进行合并 

3)har:归档

9.mapreduce的入门*(重要)

mapreduce:分布式计算框架

核心思想:分治   分而治之

mapreduce的计算工程中包括2部分:

map阶段:主要负责“分”,将一个任务分成若干的任务,分别去执行

reduce阶段:主要负责“合”,将map阶段执行完成的结果进行合并



mapreduce的天龙八部

map阶段:

1.第一步:设置inputFormat类,读取需要处理的文件  读取文件按照key,value的形式读取,key1  value1

		TextInputFormat

	key1              value1

	行的偏移量        行的值

	0				  hello

	7 				  hadoop

	13				  spark	

2.第二步:设置map类,并且设置map类的输出类型   key2,value2,k2,v2是根据具体的业务进行设置 



shuffle阶段:

3.第三步:分区 将数据进行分区 (分reduce)

4.第四步:排序(将数据按照一定规则升序或降序)

5.第五步:规约 combiner(局部数据的聚合)

6.第六步:分组(将数据按照key2进行分组)



reduce阶段:

7.第七步:设置reduce类,设置reduce的输出类型 key  value,  k3   v3

8.第八步:设置处理后的数据输出地址,outputFormat   TextOutputFormat
posted on 2019-08-04 23:12  jeasonchen001  阅读(79)  评论(0编辑  收藏  举报