投资公司网站建设方案,免费建站模板哪个好,现在的seo1发布页在哪里,网站微信建设经验HDFS 基本 shell 操作 1.1 创建目录1.2 上传指令1.3 创建空文件1.4 向分布式文件系统中的文件里追加内容1.5 查看指令1.6 下载指令1.7 合并下载1.8 移动hdfs中的文件1.9 复制hdfs中的文件到hdfs的另一个目录1.10 删除命令1.11 查看磁盘利用率和文件大小1.12 修改权限1.13 修改文… HDFS 基本 shell 操作 1.1 创建目录1.2 上传指令1.3 创建空文件1.4 向分布式文件系统中的文件里追加内容1.5 查看指令1.6 下载指令1.7 合并下载1.8 移动hdfs中的文件1.9 复制hdfs中的文件到hdfs的另一个目录1.10 删除命令1.11 查看磁盘利用率和文件大小1.12 修改权限1.13 修改文件的副本数1.14 查看文件的状态1.15 测试 1.1 创建目录
调用格式:
hdfs dfs -mkdir (-p) /目录例如:
hdfs dfs -mkdir /data
hdfs dfs -mkdir -p /data/a/b/c1.2 上传指令
调用格式:
hdfs dfs -put /本地文件 /分布式文件系统路径注意: 直接写/是省略了文件系统的名称hdfs://ip:port。 例如:
hdfs dfs -put /root/a.txt /data/ # root 下的 a.txt 上传到 /data
hdfs dfs -put /root/logs/* /data/ # logs 下的所有文件上传到 /data1.3 创建空文件
调用格式:
hdfs dfs -touchz /系统路径/文件名例如:
hdfs dfs -touchz /hadooptest.txt1.4 向分布式文件系统中的文件里追加内容
调用格式:
hdfs dfs -appendToFile 本地文件 hdfs上的文件
注意:
1不支持在中间随意增删改操作
2往空文件中追加就相当于直接写文件所以能追加进去本地文件 hello1.txt 的内容追加到 hdfs 文件 hello.txt 的后面操作如下 原 hello.txthello world 原 hello1.txthello 追加的 hello.txt 中内容如下 1.5 查看指令
查看分布式文件系统的目录里内容
调用格式:hdfs dfs -ls /查看分布式文件系统的文件内容
调用格式:hdfs dfs -cat /xxx.txt查看分布式文件系统的文件内容
调用格式:hdfs dfs -tail /xxx.txt
注意:默认最多查看1000行1.6 下载指令
hdfs dfs -copyToLocal hdfs上的文件 本地路径
注意:本地路径的文件夹可以不存在hdfs dfs -moveToLocal hdfs上的文件 本地路径
注意:从hdfs的某个路径将数据剪切到本地,已经被遗弃了hdfs dfs -get hdfs上的文件 本地路径
调用格式:同copyToLoca1.7 合并下载
调用格式:hdfs dfs -getmerge hdfs上面的路径 本地的路径
实例:hdfs dfs -getmerge /data/*.txt /root/c.txt将hdfs上的a.txt和b.txt文件合并为c.txt保存在本地root目录下1.8 移动hdfs中的文件
调用格式:hdfs dfs -mv /hdfs的路径1 /hdfs的另一个路径2
实例:hfds dfs -mv /aaa /bbb 这里是将aaa整体移动到bbb中原来目录如下 把根目录下的 hello1 移动到 /data/ 后的目录如下 1.9 复制hdfs中的文件到hdfs的另一个目录
调用格式:hdfs dfs -cp 原路径 想要复制到的路径1.10 删除命令
hfds dfs -rm [-f] [-r|-R] [-skipTrash] src ...
注意:如果删除文件夹需要加-rhfds dfs -rmdir [--ignore-fail-on-non-empty] dir ...
注意:必须是空文件夹,如果非空必须使用rm删除1.11 查看磁盘利用率和文件大小
hfds dfs -df [-h] [path ...]] #查看分布式系统的磁盘使用情况
hfds dfs -du [-s] [-h] path ... #查看分布式系统上当前路径下文件的情况 -hhuman 以人类可读的方式显示1.12 修改权限
跟本地的操作一致,-R是让子目录或文件也进行相应的修改
hfds dfs -chgrp [-R] GROUP PATH...
hfds dfs -chmod [-R] MODE[,MODE]... | OCTALMODE PATH...
hfds dfs -chown [-R] [OWNER][:[GROUP]] PATH...1.13 修改文件的副本数
调用格式:hadoop fs -setrep 3 / 将hdfs根目录及子目录下的内容设置成3个副本
注意:当设置的副本数量与初始化时默认的副本数量不一致时,集群会作出反应,比原来多了会自动进行复制.1.14 查看文件的状态
命令的作用:当向hdfs上写文件时可以通过dfs.blocksize配置项来设置文件的block的大小。这就导致了hdfs上的不同的文件block的大小是不相同的。有时候想知道hdfs上某个文件的block大小可以预先估算一下计算的task的个数。stat的意义可以查看文件的一些属性。
调用格式:hdfs dfs -stat [format] 文件路径
format的形式
%b打印文件的大小目录大小为0
%n打印文件名
%o打印block的size
%r打印副本数
%yutc时间 yyyy-MM-dd HH:mm:ss
%Y打印自1970年1月1日以来的utc的微秒数
%F目录打印directory文件打印regular file
注意:
# 当使用-stat命令但不指定format时只打印创建时间相当于%y
# -stat 后面只跟目录,%r,%o等打印的都是0,只有文件才有副本和大小1.15 测试
参数说明:
-e:文件是否存在 存在返回0
-z:文件是否为空 为空返回0
-d:是否是路径(目录) ,是返回0
调用格式:hdfs dfs -test -d 文件
实例:hdfs dfs -test -d /data/hello.txt echo OK || echo no
解释:测试当前的内容是否是文件夹 ,如果是返回ok,如果不是返回no