您的位置:首页 > 大数据 > Hadoop

【HDFS】HDFS基本操作

2019-06-12 19:28 260 查看

基本操作

在/目录下创建一个test1文件夹
hadoop fs -mkdir /test1
在Hadoop中的test1文件夹中创建一个file.txt文件
hadoop fs -touchz /test1/file.txt

删除Hadoop根下的test1目录
hadoop fs -rm -r /test1

将Hadoop根下test1目录中的file.txt文件,移动到根下并重命名为file2.txt
hadoop fs -mv /test1/file.txt /file2.txt

将Hadoop根下的file2.txt文件复制到test1目录下
hadoop fs -cp /file2.txt /test1

向data.txt文件写入hello hadoop!
echo hello hadoop! >> data.txt

将Linux本地/data目录下的data.txt文件,上传到HDFS中的/test1目录下
hadoop fs -put /data/data.txt /test1

将Hadoop中/test1目录下的data.txt文件,下载到Linux本地/apps目录中
hadoop fs -get /test1/data.txt /apps

使用chown方法,改变Hadoop中/test1目录中的data.txt文件拥有者为root,使用-R将使改变在目录结构下递归进行。
hadoop fs -chown root /test1/data.txt

使用chmod方法,赋予Hadoop中/test1目录中的data.txt文件777权限
hadoop fs -chmod 777 /test1/data.txt

text方法可以将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream。
hadoop fs -text /test1/data.txt

stat方法可以返回指定路径的统计信息,有多个参数可选,当使用-stat选项但不指定format时候,只打印文件创建日期,相当于%y
hadoop fs -stat /test1/data.txt

下面列出了format的形式:

%b:打印文件大小(目录为0)

%n:打印文件名

%o:打印block size (我们要的值)

%r:打印备份数

%y:打印UTC日期 yyyy-MM-dd HH:mm:ss

%Y:打印自1970年1月1日以来的UTC微秒数

%F:目录打印directory, 文件打印regular file

查看根目录下所有文件
hadoop fs -ls /

查看Hadoop中/test1目录下的data.txt文件
hadoop fs -cat /test1/data.txt

使用tail方法查看Hadoop中/test1目录下的data.txt文件
hadoop fs -tail /test1/data.txt

查看Hadoop中/test1目录下的data.txt文件大小
hadoop fs -du -s /test1/data.txt

-du 后面可以不加-s,直接写目录表示查看该目录下所有文件大小

查看一下/apps目录下是否存在data.txt文件
ls /apps

回收站

当在Hadoop中设置了回收站功能时,删除的文件会保留在回收站中,可以使用expunge方法清空回收站。
hadoop fs -expunge

安全模式

在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。

在HDFS的根下创建in目录,并将/data下的data.txt文件上传到HDFS中的in目录
hadoop fs -put /data/data.txt /in
查看HDFS中的/out目录
hadoop fs -ls /out
hadoop fs -cat /out/*
进入Hadoop安全模式
hdfs dfsadmin -safemode enter
退出Hadoop安全模式
hdfs dfsadmin -safemode leave
关闭Hadoop
./stop-all.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: