hadoop
JinVijay
这个作者很懒,什么都没留下…
展开
-
HDFS上传,下载流程
1 写数据流程(上传)1.客户端请求NameNode申请上传文件数据(文件大小,副本个数,物理切块的大小)2.NameNode接收到客户端的请求之后各种校验(权限,存储容量,分配元数据信息)3.客户端接收到NameNode的ok响应4.客户端请求NameNode上传第一块数据,NN返回第一块数据的元数据信息5.客户端与返回的元数据信息中的机器建立连接通道6.返回ok7.客户端本地流读取待上传的文件的第一块数据 io.read length=128M8.本地流一边读取数据,原创 2022-02-06 18:34:14 · 1848 阅读 · 0 评论 -
HDFS元数据管理(checkpoint机制)
NameNode的主要职责是记录用户存储数据的数据元信息元数据:文件块,文件存储位置,块大小,副本的个数,文件的权限......记录元数据的形式由两种元数据存储在内存上:内存对象元数据存储在磁盘上:内存对象的序列化文件当客户端对HDFS上的数据进行操作以后,数据的元数据会发生变化,NameNode可以FSImage.saveImage()修改内存对象数据.(内存中的数据存储量有限)为了保证宕机后数据的正确性,我们可以设计定期的将存储元数据FSImage对象序列化到磁盘...原创 2022-02-06 18:58:29 · 952 阅读 · 0 评论 -
HDFS数据存储与通信
数据存储特点数据读写一定依赖于元数据信息 , 元数据信息丢失,数据无法找到 数据以固定的物理切块大小存储在不同的机器上 [128M 可以修改] 每个物理切块多副本存储在不同的节点上 [3个] 在每个DataNode节点上 ,存储数据的目录是统一的 [root@linux03 subdir0]# pwd/opt/hdpdata/data/current/BP-1889122556-192.168.133.33-1638070839467/current/finalize原创 2022-02-06 19:15:26 · 675 阅读 · 0 评论 -
MR处理数据流程
1) Job提交,初始化Job(Mapper类 . Reducer类 . 输入路径 . 输出路径)2) 根据输入路径中的文件数据 处理任务切片 数组(splits[ ])3) 根据任务切片初始化MapTask,处理属于自己的数据4) 读取属于自己的数据 readLine 生成KV5) 不断的读取数据,不断的产生KV--->一对KV执行一次--->map方法6) map方法内部处理数据,输出NK,NV context.write()写出7) 将数据写入到环形缓冲区...原创 2022-02-07 10:08:42 · 480 阅读 · 0 评论 -
MR高级API
1.待处理的数据是大量的小文件HDFS设计是用来存储海量数据的,特别适合存储TB,PB量级别的数据.但是随着时间的推移,HDFS上可能会存在大量的小文件,这里说的小文件指的是文件大小远远小于一个HDFS块(128M)的大小;HDFS上存在大量的小文件至少会产生以下影响:消耗NameNode大量的内存延迟MapReduce作业的总运行时间处理大量小文件 1.合并 2.重写 3.CombineTextInputFormatHadoop内置提供了一个CombieFileInpu...原创 2022-02-07 11:23:03 · 235 阅读 · 0 评论 -
Hadoop配置详情
--HDFS环境 hadoop-env.shexport JAVA_HOME=/opt/apps/jdk1.8.0_141--core-site.xml 配置程序操作的文件系统<property><name>fs.defaultFS</name><value>hdfs://linux01:8020</value></property>--hdfs-site.xml HDFS常用参数<!-- 集群的n.原创 2022-02-07 16:53:34 · 551 阅读 · 0 评论