hadoop core fs包源码概要分析(hadoop 0.20.2 cdh3u3)

Azkaban 3.51.0源码安装与生产级配置实战指南 Azkaban是一款轻量、稳定、低侵入的批处理工作流调度引擎,基于有向无环图(DAG)实现任务依赖管理与精准调度。其核心原理是解耦调度逻辑与执行环境,通过Web Server协调元数据、Executor Server隔离任务运行,依赖MySQL持久化状态、Jetty内嵌容器提供API服务。技术价值在于极简架构、零代码侵入、强稳定性与企业级可运维性,特别适合已有Shell/Hive/Spark脚本资产、Java/MySQL技术栈成熟、追求快速上线与高可用的ETL场景。本文聚焦Azkaban 3.51.0版本的 阅读详情

UHP博客文章地址:http://yuntai.1kapp.com/?p=440

原创文章,转载请注明出处:http://blog.youkuaiyun.com/wind5shy/article/details/8090130

fs

BlockLocation

包含block长度,所在datanode列表和block在file中的offset信息。

BufferedFSInputStream

通过缓存优化FSInputStream读取。

ChecksumFileSystem

抽象的校验和文件系统,为每个裸文件创建一个校验和文件,在客户端生成和验证校验和。

CommonConfigurationKeys

包含common中使用配置属性key。

ContentSummary

目录或文件概要信息(长度、目录/文件数目、配额、已使用空间等)。

DF

文件系统磁盘空间用量统计shell。使用linux df命令获取mount点和java.io.File作为空间工具。

DU

文件系统磁盘空间用量统计shell。使用linux du命令获取mount点和java.io.File作为空间工具。

FileChecksum

表示文件校验和的抽象类。

FileStatus

文件的客户端信息(路径、长度、块、修改/访问时间、权限、用户等)抽象类。

FileSystem

文件系统抽象类。fs包含一个指示的唯一url、配置和用户。

·          管理创建fs实例。

·          包含一个静态fs cache,以 url、创建时分配唯一的long id和UserGroupInformation为key。

·          对fs中文件/目录的操作由实现类实现。

FileUtil

文件处理工具类。

FilterFileSystem

fs的代理类,内部封装一个fs。所有继承自fs的方法均由封装的方式实现。

FSDataInputStream

extends DataInputStream implementsSeekable, PositionedReadable,封装一个实现Seekable和PositionedReadable的InputStream,相关方法均由这个InputStream实现。

FSDataOutputStream

extends DataOutputStream implementsSyncable,内部类PositionCache(extends FilterOutputStream)包含一个FileSystem.Statistics引用(便于对写入数据进行统计)和记录流position的long。

FSInputChecker

extends FSInputStream,通过校验和验证输入流读取是否正确的抽象类。

FSInputStream

extends InputStream implements Seekable,PositionedReadable,有按位置读取功能的输入流抽象类。

FSOutputSummer

extends OutputStream,生成写出数据的校验和的抽象类。

FsShell

提供fs命令。

FsShellPermissions

提供文件权限相关命令。

FsStatus

表示fs容量信息。

FsUrlConnection

fs连接,通过连接来获取fs的输入流。

FsUrlStreamHandler

extends URLStreamHandler,处理fs url的类,和fs配置相关。

FsUrlStreamHandlerFactory

FsUrlStreamHandler工厂类。

GlobExpander

将正则表达式表示的文件路径pattern分隔为子一级的pattern,参见TestGlobExpander。

HarFileSystem

用来进行归档的fs。

/**

 * This is an implementation of the HadoopArchive

 * Filesystem. This archive Filesystemhas index files

 * of the form _index* and has contents of theform

 * part-*. The index files store the indexes of the

 * real files. The index files are of the form_masterindex

 * and _index. The master index is a level ofindirection

 * in to the index file to make the look upsfaster. the index

 * file is sorted with hash code of the paths thatit contains

 *and the master index contains pointers to thepositions in

 * index for ranges of hashcodes.

 */


LocalDirAllocator

通过轮叫(RoundRobin)为创建文件分配磁盘。根据请求的空间大小,依次从待选磁盘中选择有足够空间的磁盘进行分配。

此实现中磁盘实际上为配置中的目录;提供每个JVM可以使用多个allocator的功能;但没有考虑磁盘只读和在写入文件时空间用完的情况(磁盘被多处理共享)。

LocalFileSystem

本地fs。

MD5MD5CRC32FileChecksum

使用md5和crc32的校验和。

Path

文件/目录在fs中的路径。

PathFilter

路径过滤器接口。

PositionedReadable

可指定位置读接口。

RawLocalFileSystem

?裸本地 fs。

Seekable

提供按位置查找功能的接口。

Syncable

提供同步缓存功能的接口。

Trash

回收站。

将删除的文件移动到用户的回收站目录(用户home目录下的.Trash子目录,移动都是通过通过rename实现)。文件首先被移动到.Trash目录的current目录中。回收站会定期checkpoint,checkpoint时将current目录中的文件移动到带checkpoint时间目录中,同时将超过一定期限的checkpoint目录删除。Emptier线程定期执行checkpoint.

 

ftp

FTPFileSystem

ftp fs,后台由apache ftp client实现,也就是对一个apacheftp进行了fs包装。

FTPInputStream

处理ftp fs的FSInputStream。

kfs

IFSImpl

Kfs适配操作接口。

KFSImpl

Kfs适配操作实现,内部封装一个KfsAccess,将KfsAccess操作和实现fs所需操作进行适配。

KFSInputStream

处理kfs的FSInputStream,内部封装一个KfsInputChannel,内部对KfsInputChannel操作和FSInputStream所需操作进行适配。

KFSOutputStream

处理kfs的OutputStream,内部封装一个KfsInputChannel,内部对KfsInputChannel操作和OutputStream所需操作进行适配。

KosmosFileSystem

通过kfs实现的fs,内部封装一个IFSImpl来实现fs相关操作。

permission

ChmodParser

处理chmod命令的分析器。

FsAction

处理读/写/执行action的枚举类。

FsPermission

处理文件/目录权限。

PermissionParser

处理文件/目录权限的分析器,子类有ChmodParser和UmaskParser。

PermissionStatus

权限状态,包括用户名,组名和FsPermission。

UmaskParser

处理umask命令的分析器。

s3

和s3native区别在于是基于块的,而后者是基于文件,文件大小限制为5G。

Block

block元数据,id和length。

FileSystemStore

存储和检索block和node的设施接口。

INode

文件元数据,包括类型(文件/目录)和相关block,不包括文件path。path由FileSystemStore处理后通过S3Service保存。

Jets3tFileSystemStore

FileSystemStore实现类,对应s3中的一个bucket。

内部封装一个S3Service和一个S3Bucket,通过S3Service操纵S3Bucket实现接口相关操作。

MigrationTool

将数据从旧版本s3 fs迁移到新版本fs的工具。迁移通过重写block元数据实现,不会影响到数据。

S3Credentials

从fs uri或配置中提取AWS证书。

S3FileSystem

s3 fs,内部封装一个FileSystemStore实现相关操作。

S3InputStream

s3 fs的FSInputStream,对应一个INode(文件)。

S3OutputStream

s3 fs的OutputStream,对应一个INode(文件)。

 

s3native

FileMetadata

存储在NativeFileSystemStore中的文件元数据,包括key(path),长度和最后修改时间。

Jets3tNativeFileSystemStore

NativeFileSystemStore实现类,实现同Jets3tFileSystemStore类似。

NativeFileSystemStore

基于key对文件进行管理的接口。

NativeS3FileSystem

s3native fs,实现同S3FileSystem类似。

PartialListing

包含以指定前缀(一般就是目录名)下所有FileMetadata信息。

 

shell

Command

fs命令抽象类。

CommandFormat

分析命令参数,验证参数格式。

CommandUtils

目前只有格式化count命令描述的工具方法。

Count

Count the number of directories, files,bytes, quota, and remaining quota.

fs count命令处理。

原创文章,转载请注明出处:http://blog.youkuaiyun.com/wind5shy/article/details/8090130


Spark环境搭建避坑指南:JDK/Scala/Hadoop版本精准匹配 Apache Spark并非即装即用的单机工具,而是一个深度耦合JVM生态的分布式计算引擎。其稳定运行依赖于JDK版本兼容性、Scala运行时一致性、Hadoop二进制ABI匹配及本地资源精准配置等底层原理。技术价值在于规避NoClassDefFoundError、线程创建失败、文件系统不支持等高频故障,保障ETL调试、SQL开发与实时流任务的可复现性。典型应用场景包括金融风控离线分析、电商推荐特征工程及IoT时序数据本地验证。本文聚焦Spark环境搭建这一基础但极易出错的关键环节,深入解析JDK版本匹配与 阅读详情

相关推荐

国赛D题实时数据采集:Flume+Kafka+HDFS链路深度解析

实时数据采集是大数据工程中连接数据源与处理系统的基石能力,其核心在于理解流式数据的时序性、一致性与容错机制。在教育竞赛场景下,'实时'并非追求毫秒级延迟,而是保障端到端P95延迟≤3秒且波动可控;'采集'需应对不可靠传感器与受限网络,依赖Flume的Channel缓冲与Interceptor语义处理能力;而Kafka与HDFS则分别承担弹性缓冲与标准化交付职能。本文聚焦全国大学生数学建模竞赛(国赛)D题子任务一,深入剖析Flume配置调优、Kafka分区策略、HDFS文件生成规范等关键实践,覆盖CRC校验、

weixin_30723433的博客 370

Git基础

1.安装 官方网站:https://git-scm.com/ 下载完成后,进行安装;设置全部默认即可。 2.初始化配置 目的:是让它知道主人是谁,以便和GITHub进行协同。 方法:打开cmd命令行窗口,输入下列命令 git config --global user.name "用户名" # 上方的用户名必须用英文 git config --global user.email "邮箱" 配置...

liming_2464的博客 254

YARN不是调度器,而是分布式操作系统内核

YARN是Hadoop生态中首个将计算资源抽象为可编程内核的分布式系统,其本质超越传统资源调度器,提供进程隔离、内存管控、故障自愈等操作系统级能力。它基于双层调度模型解耦全局资源仲裁(ResourceManager)与应用自治逻辑(ApplicationMaster),通过CGroups、Timeline Server、ZKRMStateStore等机制实现多租户安全与可观测性。在PB级数据平台实践中,YARN的配置偏差、内核参数冲突、版本契约断裂常导致Container OOM、AM注册失败、Timeli

weixin_30861797的博客 433

Git 学习(篇二 --Git配置)

Git 学习(篇二 –Git配置)用户信息 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改: $ git config --global user.name wang.mingbo $ git config --global user.email wang.mingbo@

a day a better 829

大数据Hadoop运维应用实践——Hbase与hadoop的整合_Hbase的配置安装

本文详细介绍了HBase分布式数据库的配置安装与使用实践。主要内容包括:1. HBase的介绍(是什么?有啥用?优缺点、适用与不适用场景)。2. 版本选型指南:针对不同JDK版本HBase和Hadoop环境提供兼容性矩阵。3. 集群部署实践:包含环境变量配置、JVM参数调优、核心参数(hbase-site.xml)详解,特别强调内存分配(堆内外)、ZK超时、Region分裂等关键配置与高可用配置。最后提供了Ansible自动化批量部署脚本,适合企业级生产环境安装部署HBase参考。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 201

CoreFS平台持久层框架使用说明

CoreFS平台持久层框架使用说明CoreFS平台持久层框架使用说明

hadoop源码分析系列(三)——org.apache.hadoop.fs包 ----(下)

摘要: 上一遍分析了fs子包中的源码,这一篇主要分析fs包下的类的源码首先分析下这个包中较为孤立的类抽象类FSOutputSummer类是OutputStream类的子类,主要作用是在调用底层的output输出流之前先生成数据的校验和, ... 上一遍分析了fs子包中的源码,这一篇主要分析fs包下的类的源码 首先分析下这个包中较为孤立的类 抽象类FSOutputSummer类是O

luyee2010的专栏 3280

hadoop-core-0.20.2-cdh3u3.jar

export HADOOP_HOME="/usr/local/hadoop/" export JAVA_HOME="/usr/local/hadoop/jdk1.6.0_24" export CLASSPATH="$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/lib/commons-logging-1.0.4.jar:${HADOOP_HOME}/lib/guava-r09-jarjar.jar:${HADOOP_HOME}/hadoop-core-0.20.2-cdh3u3.jar:/usr/local/hadoop/build/classes:/usr/local/hadoop/lib:/usr/local/hadoop/tomwhite-hadoop-book-32dae01/ch05" export OS_ARCH="amd64" #32位填i386 export JAVA_PLATFORM="Linux-amd64-64"

使用HttpUrlConnection进行post请求上传文件

使用HttpUrlConnection模拟post表单进行文件上传平时很少使用,比较麻烦。   原理是: 分析文件上传的数据格式,然后根据格式构造相应的发送给服务器的字符串。 格式如下:这里的httppost123是我自己构造的字符串,可以是其他任何的字符串 ----------httppost123 (\r\n) Content-Disposition: form-da

z69183787的专栏 7975

Hadoop fs包文件系统抽象

NULL 博文链接:https://wmwork2010.iteye.com/blog/630009

hadoop-0.20.2-cdh3u6

hadoop-0.20.2-cdh3u6 cloudera

Hadoop-2.6.0-cdh5.7.0安装步骤

1.下载Hadoop和JDK   下载Hadoop地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz   下载jdk:http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.272.安装JDK   2.1解压jdk压缩包  tar -z...

烙痕丷的博客 849

CoreFS-开源

CoreFS的目标是为文件系统开发人员提供基本的分布式文件系统,以后可以通过API对其进行扩展。 Corefs API使您无需修改​​CoreFS即可轻松集成/添加新功能。 用C编写,并取决于FUSE

cdh6.3.2 hive集成 tez0.9.2

准备工作 hadoop版本:3.0.0-cdh6.3.2 hive版本:hive-2.1.1 linux环境:centos7.6 jdk1.8 maven-3.6以上 protobuf-2.5.0.tar.gz(只能是这个版本,用外网下载 Releases · protocolbuffers/protobuf · GitHub tez-0.9.2源码 Apache Downloads ...

h952520296的博客 3453

H5 获取手机GPS坐标

只要手机有GPS模块,可以用HTML5的Geolocation接口获取 在HTML5中,geolocation作为navigator的一个属性出现,它本身是一个对象,拥有三个方法: getCurrentPosition watchPosition clearWatch 1.简单 function getLocation(){ if(navigator.geolocation){ //判断是否有这个对象 navigator.geoloc

达拉崩巴斑得贝迪卜多比鲁翁_ 4669

深入探索 ClickHouse:性能优化之道

在大数据处理的广袤天地里,ClickHouse 宛如一颗璀璨的明星,以其卓越的性能为海量数据的存储与查询提供了强大助力。但要想让 ClickHouse 发挥出极致效能,性能优化至关重要。今天,就让我们一同深入探寻 ClickHouse 的性能优化之路。

arnold66的专栏 1548

Java API读取CDH-Hadoop Parquet文件

Java API读取CDH-Hadoop Parquet文件由于工作需要,基于目前公司集群存在较多的服务器且存在大量的内存,因此考虑直接将数据Load进内存进行数据处理,测试是否能够加快处理速度;鉴于以上目的,版主尝试使用Parquet的Java API读入Parquet文件。 目前关于使用Java API访问HDFS的文章较多,但是没有相关的配置比较容易出错;同时Java API读写Parque

探索技术世界 7379

从零到一:RK3588嵌入式开发中的SDK与MPP集成实战解析

本文详细解析了RK3588嵌入式开发中SDK与MPP(Media Process Platform)的集成实战,涵盖开发环境构建、SDK架构解析、MPP集成关键技术点及常见问题诊断。通过Qt5.12.10交叉编译环境配置和硬件加速优化,帮助开发者高效完成嵌入式视觉项目开发,特别适合边缘计算应用场景。

weixin_29189381的博客 511

Oozie安装教程

大数据任务调度工具oozie的安装

a805814077的博客 2492

Python 爬虫实战:分析 AJAX 请求抓取搜狐新闻数据

在Web 2.0时代,大量网站采用AJAX技术实现动态内容加载。传统基于静态HTML解析的爬虫技术(如BeautifulSoup)已无法应对这类场景。本文将以搜狐新闻为实战目标,详解如何通过分析AJAX请求接口实现动态新闻数据的精准抓取。

yansideyucsdn的博客 1751

PHP实现获取当地网络时间​(附完整源码)

PHP实现获取当地网络时间​(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 237

Cloudera CDP实战指南:HDFS可靠性、YARN调优与混合治理

Cloudera Data Platform(CDP)已超越传统Hadoop发行版,演进为面向企业数据治理的操作系统。其核心在于统一元数据管理、动态安全策略与存储计算解耦架构,支撑金融、制造等关键行业对高可用、强合规与弹性扩展的刚性需求。HDFS底层可靠性设计决定集群容灾能力,YARN资源调度真实瓶颈直接影响Spark作业稳定性;而CDP Public Cloud与Private Cloud的混合治理逻辑,则解决了多云/本地数据协同、租户隔离与联邦查询等现实挑战。本文聚焦生产级CDP部署、HDFS脑裂防控、

weixin_34294649的博客 321

一个中科大差生的8年程序员工作总结

今年终于从大菊花厂离职了,离职前收入大概60w不到吧,在某乎属于比较差的,今天终于有空写一下自己的职场故事,也算是给自己近8年的程序员工作做个总结复盘。近8年有些事情做对了,也有更多事情做错了,在这里记录一下,希望能够给后人一些帮助吧,也欢迎私信交流。文笔不好,见谅,有些细节记不清了,如果有出入,就当是我编的这个故事吧。 PS:有几个问题先在这里解释一下,评论就不一一回复了 1、关于差生,我本人在科大时确实成绩偏下,差生主要讲这一点,没其他意思。 2、因为买房是我人生中的大事,我认为需要记录和总结一下

陈小房的自我修炼 5万+
上一篇: Eclipse断点设置引发的血案...
下一篇: YARN Framework(MapReduce 2.0 in Apache Hadoop 0.23)
风隐才藏
博客等级 码龄19年 50粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值