HDFS基本命令

 


HDFS基本概念

概念作用特性

1. HDFS是一个文件系统,用于存储文件,通过统一的命名空间--目录树来定位文件;

2. HDFS是分布式的,有很多服务器联合起来实现其功能,集群中的服务器有各自的角色;

重点概念:文件切块,副本存放,元数据(目录结构及文件分块信息)

设计思想:分而治之

将大文件、大批量文件分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析

在大数据系统中作用:为各类分布式运算框架(如:mapreduce,spark,tez,....)提供数据存储服务。

(1) HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M;

(2) HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/file.data;

(3) 目录结构及文件分块信息(元数据)的管理由namenode节点承担
namenode是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应block块信息(block的id,及所在的datanode服务器)

(4) 文件的各个block的存储管理由datanode节点承担
datanode是HDFS集群从节点,每一个block都可以在多个datanode上存储多个副本(副本数量也可以通过参数设置dfs.replication)

(5) HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的修改;

注意:适合用来做数据分析,并不合适用来做网盘应用,因为,不便修改,延迟大,网络开销大,成本高。

HDFS 常用命令 

 

查看HDFS文件目录hdfs dfs -ls hdfs://master:9999/(当前还没有文件)
创建一个文件或目录

目录:

hdfs dfs -mkdir hdfs://master:9999 /user 

递归创建多个目录:

hdfs dfs -mkdir -p hdfs://master:9999/test2/test22

文件:

hdfs dfs -touchz /user/hadoop-twq/cmd/flag.txt

把本地文件word.txt上传到HDFS文件系统上去

( copyFromLocal / put)

hdfs dfs -copyFromLocal word.txt /user/hadoop-twq/cmd

再上传一次就会报错,如果想要覆盖文件要加-f
hdfs dfs -copyFromLocal -f word.txt /user/hadoop-twq/cmd

用put方式代替copyFromlocal方式上传

hdfs dfs -put -f word.txt /user/hadoop-twq/cmd
将两个文件一起上传:
hdfs dfs -put test.sh word2.txt /user/hadoop-twq/cmd

下载HDFS文件到当前堡垒机路径下

hdfs dfs -get /user/hadoop-twq/cmd/put.txt

hdfs dfs -copyToLocal /user/hadoop-twq/cmd/put.txt ./

查看文件内容hdfs dfs -cat /user/hadoop-twq/cmd/word.txt
移动文件hdfs dfs -mv /user/hadoop-twq/cmd/flag.txt(源文件) /user/hadoop-twq(目标路径)
修改hdfs文件权限

将put.txt文件权限改成744:

hdfs dfs -chmod 744 /user/hadoop-twq/cmd/put.txt
将cmd目录权限改成777:
hdfs dfs -chmod -R 777 /user/hadoop-twq/cmd

 

权限码值

-rw-------(600)拥有者:read+write
-rw-r--r--(644)

拥有者:read+write

属组成员:read

其他用户:read

-rwx------(700)拥有者:read+write+execute
-rwxr-xr-xr(755)

拥有者:read+write+execute

属组成员:read+execute

其他用户:read+execute

-rwx--x--x(711)

拥有者:read+write+execute

属组成员:execute

其他用户:execute

-rwxrwxrwx(777)

拥有者:read+write+execute

属组成员:read+write+execute

其他用户:read+write+execute

  

 

查看文件大小hdfs dfs -du /user/hadoop-twq/cmd
hdfs dfs -du -h /user/hadoop-twq/cmd(大小可读)
hdfs dfs -du -s -h /user/hadoop-twq/cmd(整个目录有多大)

查看当前目录的层级结构

tree

-C 在文件和目录清单加上色彩,便于区分各种类型。

-N 直接列出文件和目录名称,包括控制字符和中文

-D 显示修改时间。

-t 按照时间排序。

 

cat -n file

显示文件的行数

 

cat content > file

可以将内容输入到file中

 
合并下载多个文件。比如hdfs目录/aaa/下有多个文件:log.1,log.2,log.3...hdfs dfs -getmerge /aaa/log.* ./log.sum
删除文件或文件夹

hdfs dfs -rm -r /aaa/bbb/

删除空目录

hdfs dfs -rmdir /aaa/bbb/ccc

追加一个文件到已经存在的文件末尾

 hdfs dfs -appendToFile ./hellotx /hello.tx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值