hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。先用hdfsGetPathInfo 得到一个hdfsFileInfo类型的结构体, get_real_path(dsh, s, real_path); hdfsFileInfo pt_hdfs_file_info = hdfsGetPathInfo(hdfs,real_path);// 这个结构体中有个kind属性,就是来区分是文件还是目录 typedef struct
~如果你认可我的回答,请及时点击采纳为满意回答按钮
~~手机提问的朋友在客户端右上角评价点满意即可。
~你的采纳是我前进的动力
~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。
内存一份数据,fsImage存储数据(合并后的数据,即没有追加前数据),edits文件只追加,不参与计算
内存数据 == fsImage+edits
服务器启动:将(fsImage+edits)数据加载到内存
服务器关闭:将 fsImage+edits合并
2nn将fsimage和edits文件定期合并
NameNode 被格式化后,将在/opt/module/hadoop-313/data/tmp/dfs/name/current目录中产生如下文件
2NN 在/opt/module/hadoop-313/data/tmp/dfs/namesecondary/current
NameNode相比较2nn多了edits_inprogress
NameNode被格式化之后,将在/opt/module/hadoop-313/data/tmp/dfs/name/current目录产生如下文件
1)fsimage文件:HDFS文件系统元数据的一个永久性检查点,其中包含HDFS文件系统的所有目录和inode的序列化信息
2)Edits文件:存放HDFS文件系统的所有更新 *** 作的路径,文件系统客户端执行的所有写 *** 作首先会被记录到edits文件中
3)seen_txid:文件保存的是一个数字,就是最后一个edits_数字
4)VERSION,当前nameNode的命名空间,和集群id
(1)基本语法
hdfs oiv -p 文件类型 -i镜像文件 -o 转换后文件输出路径
(2)实 ***
NameNode没有记录块所对应DataNode,DataNode启动后向NameNode汇报自己有哪些文件块
(1)基本语法
hdfs oev -p 文件类型 -i 编辑日志 -o 转换后文件输出路径
(2)实 ***
只进行追加,不进行合并 *** 作。
在服务器启动进入内存,只加载edits后缀大于fsimage后缀。
hdfs-defaultxml
1)通常情况下,SecondaryNameNode每隔一个小时执行一次。[hdfs-defaultxml]
2)一分钟检查一次 *** 作次数,当 *** 作次数达到1百万次,SecondaryNameNode执行一次。
2nn每隔1分钟,主动查询一次。
通过本节可以知道两个文件fsimage和edits文件作用,通过这两个文件就是NameNode存储的元数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)