在NameNode中的Namespace管理层是负责管理整个HDFS集群文件系统的目录树以及文件与数据块的映射关系。以下就是Namespace的内存结构: 以上是一棵文件目录树,可见Namespace本身其实是一棵巨大的树。在这棵树中INodeFile表示文件,INodeDirectory表示文件目 ...
分类:
其他好文 时间:
2019-09-08 20:24:36
阅读次数:
162
NameNode堆内存估算 在HDFS中,数据和元数据是分开存储的,数据文件被分割成若干个数据块,每一个数据块默认备份3份,然后分布式的存储在所有的DataNode上,元数据会常驻在NameNode的内存中,而且随着数据量的增加,在NameNode中内存的元数据的大小也会随着增加,那么这个时候对Na ...
分类:
其他好文 时间:
2019-09-08 20:22:09
阅读次数:
81
下图是HDFS的架构: 从上图中可以知道,HDFS包含了NameNode、DataNode以及Client三个角色,当我们的HDFS没有配置HA的时候,那还有一个角色就是SecondaryNameNode,这四个角色都是基于JVM之上的Java进程。既然是Java进程,那我们肯定可以调整这四个角色使 ...
分类:
其他好文 时间:
2019-09-08 20:20:22
阅读次数:
444
在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态、获取文件的block信息和位置信息等。 我们在master机器上执行hdfs fsck就可以看到这个命令的用法。 查看文件目录的健康信息 执行如下的命令: 其中有一个比较重要的信息,就是Corrupt blocks,表示损坏的 ...
分类:
其他好文 时间:
2019-09-08 20:19:47
阅读次数:
111
在HDFS集群的运维过程中,肯定会遇到DataNode的新增和删除,即上线与下线。这篇文章就详细讲解下DataNode的上线和下线的过程。 背景 在我们的微职位视频课程中,我们已经安装了3个节点的HDFS集群,master机器上安装了NameNode和SecondaryNameNode角色,slav ...
分类:
其他好文 时间:
2019-09-08 19:52:36
阅读次数:
105
我们在安装HDFS的时候,我们在hdfs-site.xml配置过DataNode的数据存储的文件目录,如下: 目录/home/hadoop-twq/bigdata/dfs/data就是DataNode存放数据的地方,这个目录对应的存储介质就是普通的磁盘(DISK)。除了普通磁盘,存储介质其实还有固态 ...
分类:
其他好文 时间:
2019-09-08 19:50:27
阅读次数:
78
1. 副本摆放机制 机架感知策略: 由于处于不同的机架的两个节点在通信的时候需要通过交换机,而同一机架上的节点之间的通信网络带宽更高,效率更高,读写成本更低。 通常情况下,HDFS默认的副本系数为3: 副本1:本rack的一个节点上 副本2:另外一个rack的节点上 副本3:与2相同的rack的另外 ...
分类:
其他好文 时间:
2019-09-08 09:55:16
阅读次数:
72
意思说在 hdfs://localhost:9000/usr/local/spark/zytdemo找不到响应的文件,我们可以分析的得到他并不是加载本地文件,而是区hdfs上查找。 这是由于我们在之前配置时修改过 /usr/local/hadoop/etc/hadoop下的core-site.xml ...
分类:
Web程序 时间:
2019-09-06 18:36:47
阅读次数:
126
jar包方式部署: 1、创建一个java工程,命名为weekend110 2、需要在java Build Path添加Libraries命名为hdfs 在hdfs里面 添加jar包: 接着添加lib所有jar包: 再添加common的核心包: 最后再重新添加lib包,重复可以覆盖! 完成ok! 第二 ...
分类:
编程语言 时间:
2019-09-05 18:39:43
阅读次数:
123
某些场景下,我们在写UDF实现业务逻辑时候,可能需要去读取某个配置文件。 大多时候我们都会将此文件上传个hdfs某个路径下,然后通过hdfs api读取该文件,但是需要注意: UDF中读取文件部分最好放在静态代码块中(只会在类加载时候读取一次),尤其在处理的数据量比较大的时候,否则会反反复复的读取, ...
分类:
其他好文 时间:
2019-09-05 18:33:01
阅读次数:
212