HDFS
ThisIsNobody
这个作者很懒,什么都没留下…
展开
-
HDFS 概念和特点
什么是HDFS?分布式文件系统则意味着跨越多台计算机,引入网络编程,要处理节点故障HDFS使用流式数据访问模式存储超大文件,运行在商用硬件集群上1) 流式数据访问 Java的InputStream/OutputStream一次写入,多次读取是最高效的访问模式2) 超大文件3) 商用硬件并非高可靠的硬件,节点故障还是比较容易发生,要求HDFS被设计成高可用HA和易扩展HDFS不适用于?1) 时间延迟...原创 2018-06-20 18:33:12 · 1619 阅读 · 0 评论 -
HDFS 数据流
参考Hadoop权威指南 3.6数据流1. 掌握剖析文件读取流程,分析图2. 掌握剖析文件写入流程,分析图原创 2018-06-22 01:43:06 · 634 阅读 · 0 评论 -
HDFS 一致模型和distcp
一致模型distcp原创 2018-06-22 02:14:45 · 631 阅读 · 0 评论 -
HDFS 网络拓扑的概念和副本放哪里
网络拓扑节点间的距离衡量标准是带宽,而带宽则意味着传输速率Hadoop可以根据运行节点分级:不同数据中心节点 < 相同数据中心不同机架的节点 < 相同机架的不同节点 < 相同节点不同进程 (带宽递增)副本放哪里?考量因素:可靠性,写入带宽,读取带宽权衡冗余性和带宽损耗多个副本:第一个副本放在运行客户端的节点上,第二个副本放在不同的机架的节点上,第三个副本与第二个副本放在相同机架上...原创 2018-06-21 02:09:49 · 497 阅读 · 0 评论 -
HDFS Java接口实现流式数据访问
HDFS是流式数据访问模式存储超大文件,在商用机硬件集群上运行流式数据访问模式中,FSDataInputStream和FSDataOutputStream继承java.io.DataInputStream和java.io.DataOutputStream实现文件的读取和写入Java接口读取数据1) Hadoop URL读取数据public class HdfsUrl { /* * 一个JVM...原创 2018-06-21 01:48:34 · 2029 阅读 · 0 评论 -
HDFS 文件权限
-rw-r--r-- 3 root supergroup 1311 2018-06-20 00:11 /countout/part-r-00000原创 2018-06-21 00:30:32 · 5764 阅读 · 0 评论 -
HDFS高可用(三) 故障切换和规避
故障切换failover controller管理将active namenode转换为standby namenode的过程默认使用zookeeper保证只有一个active namenode每个namenode上运行一个failover controller,监控宿主namenode状态(使用心跳机制)并在active namenode失效时进行故障切换规避fencing为保证之前的activ...原创 2018-06-21 00:30:46 · 835 阅读 · 0 评论 -
HDFS高可用(一) 共享存储
1 NFS过滤器2 群体日志管理器QJM(quorum journal manager)QJM提供一个高可用的编辑日志以一组日志节点(journal node)形式运行,每一次编辑必须写入多个节点QJM是HDFS的实现,它的实现没有使用ZooKeeper,但实现与ZooKeeper类似...原创 2018-06-21 00:30:50 · 1319 阅读 · 0 评论 -
HDFS高可用(二) 实现机制
HDFS HA未实现HA的namenode存在单点失效问题,即使能防止数据丢失,但不能避免一段时间的namenode未正常工作,集群未正常工作Hadoop2支持HDFS高可用一个新的namenode满足以下条件才可以开始为集群提供服务,导致冷启动时间需要30min,甚至更长1) 将命名空间映像加载到内存中2) 重演编辑日志3) 接收到足够多datanode的数据块报告并退出安全模式高可用HDFS特...原创 2018-06-21 00:30:48 · 131 阅读 · 0 评论 -
HDFS 块缓存和联邦HDFS
块缓存对于访问频繁的块,显式地缓存在datanode的内存中,以堆外块缓存的方式存在利用缓存块的优势提高读操作的性能。联邦HDFSnamenode在内存中保存了每个文件与每个数据块的引用关系,超大集群的namenode内存会成为瓶颈HDFS允许扩展namenode,不同的namenode管理不同的目录,每个namenode维护一个命名空间卷命名空间卷:命名空间的元数据和一个数据块池组成dateno...原创 2018-06-21 00:30:44 · 662 阅读 · 0 评论 -
HDFS namenode容错机制
1 远程备份组成元数据持久状态的文件将持久状态写入本地磁盘的同时,写入一个远程的网络文件系统NFS,操作是实时且原子性的2 运行secondary namenode(辅助namenode)辅助namenode主要是合并edits和fsimage,并保存合并后的fsimagenamenode出现故障时,启用辅助namenode,因为辅助namenode上的fsimage未包含最近的edits文件,所...原创 2018-06-20 20:33:59 · 1068 阅读 · 0 评论 -
HDFS namenode和datanode
namenode管理文件命名空间,维护文件系统树和树的所有文件和目录本地磁盘:fsimage edits log内存:metadata元数据格式:文件名称 副本数 块id 块及副本块位置datanode存储和检索数据块定期向namenode发送存储的块的列表...原创 2018-06-20 20:04:05 · 133 阅读 · 0 评论 -
Hadoop HDFS处理大量的小文件(二)
Reference:https://blog.csdn.net/zyd94857/article/details/79946773原创 2018-06-20 19:45:22 · 289 阅读 · 0 评论 -
Hadoop HDFS处理大量的小文件(一)
使用HAR(Hadoop Archives),构建在其他文件系统之上用于文件存档的文件系统Hadoop存档文件系统通常将HDFS中的多个文件打包成一个存档文件,减少namenode内存的使用hadoop archive命令创建HAR文件Reference:https://blog.csdn.net/zyd94857/article/details/79946773...原创 2018-06-20 19:44:14 · 4263 阅读 · 0 评论 -
Hadoop HDFS分块抽象的好处
1 文件大小可以大于任意一个磁盘的容量,块并不需要存储在同一个磁盘上2 抽象块作为存储单元,简化存储子系统的设计 1) datanode将块作为处理对象,能存储多少块也能计算出 2) 无需管理元数据3 数据备份提高容错能力和可用性HDFS块为什么这么大?最小化寻址开销块足够大时,磁盘传输速率会远远大于寻址时间,则传输时间更依赖于磁盘传输速率...原创 2018-06-20 19:16:33 · 6083 阅读 · 0 评论 -
Hadoop 抽象文件系统实现远程HDFS文件操作
Hadoop的Java API已经将文件操作封装好编程主要涉及org.apache.hadoop.fs.*FileSystem: /* * java.net.URI.URI(String str) * org.apache.hadoop.conf.Configuration.Configuration() * FileSystem org.apache.hadoop.fs.FileS...原创 2018-06-20 16:08:03 · 637 阅读 · 0 评论