Hadoop-04-分布式文件系统和HDFS

1.分布式文件系统和HDFS

1.1产生原因

数据量越来越多,在一个操作系统管辖的范围内存不下,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,由此产生了分布式文件管理系统。

1.2定义

是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。

1.3特点

(1)通透性:

让实际上通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般;

(2)容错性:

即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。

1.4其它

分布式文件管理系统很多,hdfs只是其中的一种,适用于一次写入多次查询的情况,不支持并发写情况,小文件也不合适。

2.HDFS的shell操作

2.1.概述

(1)调用文件系统(FS)Shell命令应使用 bin/hadoopfs 的形式。

(2)所有的FS shell命令使用URI路径作为参数。

 URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

 例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更简单的/parent/child(假设配置文件是namenode:namenodePort)

(3)大多数FS Shell命令的行为和对应的UnixShell命令类似。

2.2常见HDFS fs命令介绍

2.3常见HDFS fs命令演示

(1)start-all.sh开启线程

(2) -ls/-lsr 查看目录下的文件信息

hadoop fs -ls /     查看根目录下文件与文件夹

hadoop fs -lsr /   递归查看根目录下所有文件与文件夹

hadoop fs -ls         默认查看hdfs下的/user/<当前用户>  例如:/user/root

(3)–touchz 创建文件

可以创建一个文件

hadoop fs -touchz /hello  (创建一个hello文件)

(4)–mkdir 创建文件夹

创建一个或者多个文件夹(hadoop则不需要-p)

hadoop fs -mkdir /user  (创建一个user文件夹)

说明:linux中创建多级目录 mkdir –p   p表示parents

(5)-text/-cat查看文件内容

hadoop fs -text /hello

hadoop fs -cat /hello

(6)-mv 移动/重命名

该命令选项表示移动 hdfs 的文件到指定的 hdfs 目录中。后面跟两个路径,第一个表示源文件,第二个表示目的目录

hadoop fs -mv /hello /user(文件到文件夹:是移动)

hadoop fs -mv /hello /user/hello1 (文件到文件:是重命名)

(7) -cp 复制

该命令选项表示复制 hdfs 指定的文件到指定的 hdfs 目录中。后面跟两个路径,第

一个是被复制的文件,第二个是目的地

hadoop fs -cp /user/hello /user/root

(8) -rm/-rmr 删除文件

-rm:删除文件/空白文件夹

该命令选项表示删除指定的文件或者空目录

hadoop fs -rm /user/hello

-rmr:递归删除

该命令选项表示递归删除指定目录下的所有子目录和文件

hadoop fs -rmr /user

(9) -put 上传文件

该命令选项表示把 linux 上的文件复制到 hdfs 中

hadoop fs -put install.log /user

将当前linux目录下的install.log文件,上传到/user(hdfs服务器上的user目录下)

hadoop fs -put install.log  /你叫起的名字(hello—文件名)

例如:hadoop fs -put install.log  /user

(10)-copyFromLocal 从本地复制

用法与-put一样

hadoop fs -copyFromLocal anaconda-ks.cfg /user

(11) -moveFromLocal从本地移动

该命令表示把文件从 linux 上移动到 hdfs 中

hadoop fs -moveFromLocal test1.txt /test1

(12) -getmerge 合并下载到本地

该命令选项的含义是把 hdfs 指定目录下的所有文件内容合并到本地 linux 的文件中

hadoopfs –getmerge /demo/test1

(13) -setrep/-setrep -R/-setrep -R -w 设置副本数量

该命令选项是修改已保存文件的副本数量,后面跟副本数量,再跟文件路径

hadoop fs -setrep 2 /demo/test1  设置/demo/test1副本数量为2

如果最后的路径表示文件夹,那么需要跟选项-R,表示对文件夹中的所有文件都修改副本

hadoop fs -setrep -R 2 /demo  设置/demo下所有文件(不是文件夹)的副本数量为2

还有一个选项是-w,表示等待副本操作结束才退出命令

hadoop fs -setrep -R -w 1 /demo/test1

(14) -du统计目录下个文件大小

hadoop fs -du /    查看根目录下的各个文件的大小

hadoop fs -dus /   汇总统计目录下所有文件的总大小(也就是当前文件夹的大小)

(15)-count统计文件(夹)数量

hadoop fs -count /usr  递归统计当前文件下的所有信息:数字代表(文件夹总数量、文件总数量、文件总大小信息)

hadoop fs -lsr /usr    验证信息

(16)–chmod/-chmod -R 修改文件权限

该命令选项的使用类似于 linux 的 shell 中的 chmod 用法,作用是修改文件的权限

hadoop fs - chmod 777 /user/hehe.txt  修改该文件的权限

如果加上选项-R,可以对文件夹中的所有文件修改权限

hadoopfs – chmod -R 777 /user  修改该文件夹下所有文件的权限

(17) hadoop jar 导jar在命令行运行

job.setJarByClass(WordCountApp.class);

在linux下 :

hadoop jar    /linux下路径/XXX.jar    /hadoop执行jar的文件或者文件夹    /hadoop下存放目录

时间: 2024-10-13 00:54:08

Hadoop-04-分布式文件系统和HDFS的相关文章

linux文件系统和mount(硬盘,win分区,光驱,U盘)

fdisk –l查看dos/win/ext2分区(partiton,不是slice,slice是solaris分区) [[email protected] etc]# /sbin/fdisk -l Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot     

Linux基础知识--Linux的文件系统和bash的基础特性

Linux基础知识--linux的文件系统和bash的基础特性 一.Linux文件系统: Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中 linux文件系统遵循FHS(Filesystem Hierarchy Standard,文件系统目录标准),多数Linux版本采用这种文件组织形式.FHS采用了树行组织文件. FHS定义了两层规范,第一层是,/目录下面的各个目录应该要

HDFS—Hadoop底层分布式文件存储系统

声明:本文档所有内容均在本人的学习和理解上整理,仅供参考,欢迎讨论.不具有权威性,甚至不具有精确性,也会在以后的学习中对不合理之处进行修改. 在上一篇“浅谈Hadoop inFusionInsight—华为大数据解决方案的理解”中,我重点提到了大数据的两个相较于传统数据所不同的特点——数量大和种类多.在Hadoop的底层有个非常重要的部分,我们一般称之为“核心”——分布式文件存储系统,即HDFS.我之前说过,单个服务器的内存和磁盘空间是有上限的,不可能无限支持线性增加.面对海量的大数据,单个服务

第3阶段——内核启动分析之挂载根文件系统和mtd分区介绍(6)

内核启动并初始化后,最终目的是像Windows一样能启动应用程序 在windows中每个应用程序都存在C盘.D盘等 而linux中每个应用程序是存放在根文件系统里面 那么挂载根文件系统在哪里,怎么实现最终目的运行应用程序? 1.进入stext函数启动内核 2.进入strat_kernel(): ... setup_arch(&command_line);           //解析uboot传入的启动参数 setup_command_line(command_line);    //解析ubo

Hadoop HDFS分布式文件系统设计要点与架构

Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上.而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序.HDF

Hadoop HDFS分布式文件系统设计要点与架构(转摘)

Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上.而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序.HDF

我不是九爷 带你了解 Hadoop分布式文件系统设计要点与架构

Hadoop分布式文件系统设计要点与架构 Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上.而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(lar

hadoop学习;大数据集在HDFS中存为单个文件;安装linux下eclipse出错解决;查看.class文件插件

sudo apt-get install eclipse 安装后打开eclipse,提示出错 An error has occurred. See the log file /home/pengeorge/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1342406790169.log. 查看错误日志然后解决 打开log文件,看到以下的错误 !SESSION 2012-07-16 10:46:29.992 --------

hadoop上传文件到hdfs出错

通过命令: Hadoop fs -put /opt/program/userall20140828 hdfs://localhost:9000/tmp/tvbox/ 上传文件到hdfs是出现错误 14/12/11 17:57:49 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/tvbox/behavior_2014