摘要:
Input阶段作用有两个,一是读取数据,二是对数据进行切片划分。 一、读取数据:Input是读取数据的总接口,默认使用FileInputFomart类。 二、(1)切片划分:将要处理的数据进行逻辑上的切片划分,每一个切片都对应一个mapTast任务。也就是说,将数据切成几片,就有几个mapTast任 阅读全文
摘要:
一:DataNode工作机制 (1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度、 快数据的校验和(验证数据完整性)以及时间戳 (2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有 阅读全文
摘要:
NameNode发生故障后恢复数据的两种方法(都不能恢复全部数据) 方法一:将SecondaryNameNode中的数据拷贝到NameNode存储数据的目录 方法二:使用-importCheckpoint选项启动NameNode守护进程,从而将SecondaryNameNode中数据拷贝到NameN 阅读全文
摘要:
一:概念 二:ovi命令查看FsImage文件 三:oev查看Edits文件 阅读全文
摘要:
一:NameNode的元数据怎么存储比较合适? 假如存储在磁盘里,因为NameNode需要频繁的响应客户端请求进行读写,效率会比较低。假如存在内存里的话, 一旦断电那么元数据就全部丢失了。 因此有了FsImage,它是存在磁盘里的元数据备份文件。每当NameNode启动时,从FsImage里拿取元数 阅读全文
摘要:
HDFS副本节点默认三个 第一个:存在Client(客户端)所处的节点,如果Client在集群外,那么随便选一个节点 第二个:位于第一个副本所在的节点的机架,随机一个节点 第三个:和第一副本处于不同机架上的随机一个节点 阅读全文
摘要:
HDFS的写入(上传)操作 (1)客户端向NameNode发出上传文件请求 (2)NameNode检查目标文件是否存在,父目录是否存在,然后响应客户端是否能上传 (3)客户端根据规定的块大小拆分数据,然后向NameNode询问第一个block(数据块)上传到哪些DataNode上 (4)NameNo 阅读全文
摘要:
在java中使用FileSystem类可以操作HDFS HDFS在linux下操作的命令在java中转变为对应的方法。 一些示例: (1)通过java在HDFS中创建文件夹 (2)从本地剪切文件到HDFS (3)文件详情查看 (4)文件或目录删除 (5)从本地复制文件到HDFS (6)从HDFS下载 阅读全文