基于key/value+Hadoop HDFS 设计的存储系统的shell命令接口

&">nbsp;   对于hadoop HDFS 中的所有命令进行解析(其中操作流程是自己的想法有不同意见欢迎大家指正)

接口名称

功能

操作流程

get

将文件复制到本地文件系统 。如果指定了多个源文件,本地目的端必须是一个目录。

(1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得文件名(或大文件元数据信息);

(2)根据文件名(或大文件元数据信息)到相应的Data server中获取相应的文件(大文件需要拼接);

(3)将获取的文件写入本地文件系统。

put

从本地文件系统中复制文件或目录到目标文件系统。

(1)按照上述章节所述,逐层解析<dst>绝对路径,获取目标文件夹的key/value数据;

(2)根据章节所述规则,结合目标文件夹的标号和源文件的文件名生成对应的key/value;

(3)根据步骤(2)生成的key/value上传源文件的相关信息;

(4)上传源文件内容到系统中。

rm

删除指定的文件,只删除非空目录和文件。

(1)根据上述章节所述,逐层解析到目标文件所在的位置获取指定文件的key/value;

(2)根据key找到指定的文件或目录所在的DataNode上存储的信息;

(3)删除信息;

(4)将删除记录写入edit log。

mkdir

创建目录,会创建路径中所有缺失的父目录。

(1)按照上述机制,逐层解析找到父目录,获取标记,如果父目录不存在则递归的创建路径上的目录;

(2)将父目录的标记作为key的父节点字段部分,创建新目录。

appendToFile

添加源文件从本地文件系统到目标文件系统。

(1)按照上述章节所述,逐层解析<dst>绝对路径,获取目标文件夹的key/value数据;

(2)根据章节所述规则,结合目标文件夹的标号和源文件的文件名生成对应的key/value;

(3)根据步骤(2)生成的key/value上传源文件的相关信息;

(4)上传源文件内容到系统中。

cat

将路径指定文件的内容输出到stdout。

(1)按照上述机制,逐层解析path到目标文件,获取文件的key/value;

(2)根据key值在找到文件内容输出到stdout中;

(3)将结果在终端显示出来。

chgrp

改变文件和目录的群组。

(1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得所操作的文件名/目录(或大文件元数据信息);

(2)修改这个K-V中的value的表示群组的字段并重新插入新的K-V。

chmod

改变文件和目录的访问权限。

(1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得所操作的文件名/目录(或大文件元数据信息);

(2)修改这个K-V中的value的表示访问权限的字段并重新插入新的K-V。

chown

变更文件和目录的拥有者。

(1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得所操作的文件名/目录(或大文件元数据信息);

(2)修改这个K-V中的value的表示所有者的字段并重新插入新的K-V。

copyFromLocal

从本地文件系统中复制文件,和put命令相似。

操作流程参见put接口。

copToLocal

将文件复制到本地文件系统,和get命令类似。

操作流程参见get接口。

count

显示由路径确定的子目录的个数,文件个数,使用字节个数,以及所有的文件目录名。

(1)解析到目标路径,获取相关的key/value;

(2)获取value中的子目录个数,文件个数,使用字符串等相关信息的字段。

cp

将文件从源路径复制到目标路径。这个命令允许有多个原路径,此时目标路径必须是一个目录。

(1)根据上述章节所述,逐层解析<dest>,获取目标文件的位置信息;

(2)获取源文件的内容;

(3)逐块复制源文件信息到目标文件当中。

du

显示文件大小,如果path是一个目录,则显示该目录中所有文件的大小。

(1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得文件名或目录;

(2)如果是文件读取相应的key/value中,读取value中表示文件大小的字段,如果是目录则读取标记,递归的查询属于该目录下的所有文件。

dus

显示文件的大小,但是当作用于目录时,会显示文件大小之和。

(1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得文件名或目录;

(2)如果是文件读取相应的key/value中,读取value中表示文件大小的字段,如果是目录则读取标记,递归的查询属于该目录下的所有文件value信息,将value中关于文件大小的字段信息相加取和。

expunge

清空回收站。

(1)按照上述机制,解析到HDFS系统回收站目录下(/user/用户名/.Trash/current);

(2)删除(参考接口rm)。

getfacl

显示文件和目录的访问控制列表。

(1)按照上述章节所述,逐层解析,获取目标文件或路径的key/value数据;

(2)获取value中有关的ACL的字段信息。

getmerge

获取由源目录指定的所有文件,将它们合并为单个文件并写入本地文件系统中的LOCALDST。

(1)按照上述机制,逐层解析,获取源目录文件的标记;

(2)根据标记,在config server中寻找目录文件下的子文件;

(3)创建目标文件,将子文件的内容依次合并到目标文件当中;

(4)将目标文件写入本地文件系统。

ls

列出目录及文件信息。

(1)按照上述机制,逐层解析获取到目标文件或者文件夹的标记;

(2)根据标记查询子目录或者文件相关信息;

(3)列出信息。

lsr

循环列出目录,子目录及文件信息。

操作流程参见参照ls接口。

moveFromLocal

类似于put,只是本地的源在复制之后会被删除。

(1)按照上述章节所述,逐层解析<dst>绝对路径,获取目标文件夹的key/value数据;

(2)根据章节所述规则,结合目标文件夹的标号和源文件的文件名生成对应的key/value;

(3)根据步骤(2)生成的key/value上传源文件的相关信息;

(4)上传源文件内容到系统中;

(5)删除本地源文件。

moveToLocal

于get命令类似。

操作流程参见get接口。

mv

移动文件从源地址到目标地址。

(1)按照上述机制,逐层解析<dest>绝对路径获取目标文件夹的标号;

(2)逐层解析到源文件获取源文件的key/value数据;

(3)更改源文件中的key值将其中的父节点标号字段改为目标文件夹的标号。

rmr

递归删除指定文件和目录。

(1)按照上述机制,逐层解析到目标文件所在的位置获取指定文件的标记;

(2)采用递归算法根据标记删除指定的文件或目录。

setfacl

设置访问控制列表(acl)的文件和目录。

(1)按照上述机制,逐层解析,获取目标文件或路径的key/value数据;

(2)设置value中的ACL。

setrep

改变文件的目标副本系数。

(1)按照上述章节所述,逐层解析,获取目标文件的key/value数据;

(2)修改value中有关副本系数的字段。

stat

显示文件中的统计信息。

(1)按照上述章节所述,逐层解析,获取目标文件的key/value数据;

(2)获取value中关于文件的统计信息的相关字段。

tail

显示目标文件中的最后1KB数据。

(1)按照上述章节所述,逐层解析,获取目标文件的key/value数据;

(2)根据所得到的key/value查询最后一块中的1KB信息,如果最后一块不足1KB,则查询倒数第二块中信息,拼接成1KB。返回信息。

test

对路径进行检查。

(1)按照上述章节所述,对目标路径逐层解析,获取目标文件的key/value数据;

(2)检查目标文件中的key/value中的相关字段,以检测文件是否存在,大小是否为0,目录路径是否存在。

text

显示文件的文本内容,当文件为文本文件时,等同于cat。文件为压缩格式时,会先解压缩。

操作流程参见cat接口。

touchz

创建长度为0的文件。

操作流程参见mkdir接口。

原文链接:http://demo.netfoucs.com/captain_wl9083/article/details/37663327

时间: 2024-10-30 22:53:08

基于key/value+Hadoop HDFS 设计的存储系统的shell命令接口的相关文章

HTTPFS: 基于HTTP操作hadoop hdfs文件系统

一.HTTPFS简介     1:httpfs是cloudera公司提供的一个hadoop hdfs的一个http接口,通过WebHDFS REST API 可以对hdfs进行读写等访问       2:与WebHDFS的区别是不需要客户端可以访问hadoop集群的每一个节点,通过httpfs可以访问放置在防火墙后面的hadoop集群       3:httpfs是一个Web应用,部署在内嵌的tomcat中       用这种方式在数据共享给其他系统时,网络安全上更容易实现,使用请参考: htt

基于Hadoop 的校园云存储系统的研究

基于Hadoop 的校园云存储系统的研究 高新成, 王莉利 针对海量数据的存储问题,传统方法一般是通过购置更多数量的服务器来提升计算和存储能力,存在硬件成本高,存储效率低等缺点.通过对Hadoop 框架和MapReduce 编程模型等云计算核心技术的分析和研究,提出了一种基于Hadoop 框架的海量数据存储模型,并在此模型的基础上,设计并实现了基于Hadoop 的校园云存储系统. 关键词-Hadoop; MapReduce; 云计算; 分布式计算; 存储模型 temp_1210021608512

开源Hadoop HDFS高可用性介绍、安装与配置

那么 CAMP 服务器对开源 Hadoop 的高可用性是否支持?答案是 肯定的.本文将介绍如何在 CAMP 服务器上使用 PLinux 操作系统实现开源 Hadoop HDFS 的高可用性.Hadoop 是目前最热门的大数据计算系统,它实现了一个可扩展的分布式文件系统 HDFS 作为海量数据的存储系统.HDFS 是主从式的分布式系统(如图 1),NameNode 管理整个文件系统的元数据,负责数据的分配,并管理着 DataNode:而 DataNode 负责存储数据块,按块(用户可设置,默认是

基于粒子群调度器的云存储系统针对交互密集型任务的缓存模型研究

基于粒子群调度器的云存储系统针对交互密集型任务的缓存模型研究 华东师范大学 华夏渝 本文的研究依托于Hadoop Distribute File System分布式文件系统所构建的分布式存储平台,提出了一种基于粒子群调度分配算法的主从名字节点缓冲架构,旨在解决原有系统在面对具有频繁写入读出特性的一类用户应用程序时系统吞吐量剧烈降低这一问题. 关键词:分布式文件系统   HDFS  分布式缓存  粒子群  云计算   下载地址:http://bbs.chinacloud.cn/showtopic-

基于 HBase 的农业无线传感信息存储系统

基于 HBase 的农业无线传感信息存储系统 周利珍,陈庆奎 无线传感网络由于分布的跨区域性,随着无线传感网络的扩张,如何高效组织存储这些跨区域的大规模的传感数据是近年来研究的热点和难点.根据大规模传感器数量大.分布广的特点,设计使用分层次的分布式存储方案.Hadoop的HBase 是一个分布式的数据库,提供实时读写.随即访问.高可扩展性和高可用性的存储服务.使用HBase 构建两层存储架构,分别存放区域内传感器数据和传感器数据的元数据.实验表明,该系统有良好的扩展性.存储和查询效率,能够满足大

Hadoop HDFS RPM包安装方案

文章出处:http://netkiller.github.io/storage/hdfs.html   5.2. Hadoop HDFS RPM包安装方案 你是不是感觉Hadoop 安装太复杂呢? 下面是无障碍,无门槛安装方案,非常适合不懂Java得系统管理. HDFS:       NameNode  :管理节点       DataNode  :数据节点       SecondaryNamenode : 数据源信息备份整理节点 MapReduce        JobTracker  :任

Hadoop大象之旅009-通过Shell操作hdfs

Hadoop大象之旅009-通过Shell操作hdfs                                                                老帅 调用Hadoop分布式文件系统(HDFS)Shell命令应使用bin/hadoop fs <args>的形式.   1.查看hdfs都有哪些Shell命令 参照前面章节中所述方法,使用SecureCRTPortable.exe登录CentOS; 使用命令"hadoopfs"查看hdfs的命

基于HBase的交通流数据实时存储系统

基于HBase的交通流数据实时存储系统 陆婷 房俊 乔彦克 交通流数据具有多来源.高速率.体量大等特征,传统数据存储方法和系统暴露出扩展性弱和存储实时性低等问题.针对上述问题,设计并实现了一套基于HBase交通流数据实时存储系统.该系统采用分布式存储架构,通过前端的预处理操作对数据进行规范化整理,利用多源缓冲区结构对不同类型的流数据进行队列划分,并结合一致性哈希算法.多线程技术.行键优化设计等策略将数据并行存储到HBase集群服务器中.实验结果表明:该系统与基于Oracle的实时存储系统相比,其

一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)

1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构.  注意:HADOOP的核心组件有: 1)HDFS(分布式文件系统) 2)YARN(运算资源调度系统) 3)MAPREDUCE(分布式运算编程框架)       Hadoop 中的分布式文件系统 HDFS 由一个管理结点 ( NameNode