HDFS的 /路径介绍+2客户端命令工具+3命令+4mapreduce单词解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou920786312/article/details/85922426

/路径介绍

对应路径

/home/hadoop/apps/hadoop-2.6.4/tmp/dfs/data/current/BP-271701141-192.168.232.128-1546395882610/current/finalized

对应配置

2客户端命令工具

目录

/home/hadoop/apps/hadoop-2.6.4/bin

3命令

put                

功能:等同于copyFromLocal

示例:hadoop  fs  -put   a.txt   /

[root@mini4 ~]# echo aabbccdd >a.txt
[root@mini4 ~]# hadoop fs -put a.txt /

-ls                  

功能:显示目录信息

示例: hadoop fs -ls hdfs://mini-yum:9000/

备注:这些参数中,所有的hdfs路径都可以简写

-->hadoop fs -ls /   等同于上一条命令的效果

[root@mini4 ~]# hadoop fs -ls hdfs://mini-yum:9000/
Found 1 items
-rw-r--r--   2 root supergroup          9 2019-01-06 20:33 hdfs://mini-yum:9000/a.txt
[root@mini4 ~]# hadoop fs -ls / 
Found 1 items
-rw-r--r--   2 root supergroup          9 2019-01-06 20:33 /a.txt

扩展:文件具体存在哪?(我配置的副本是2,应该有2个datanode有保存)

本身保存的(mini4操作的)

副本的

.meta是数据描述

 blk_1073741825是什么呢?

其实里面就是我们保存的数据(因为没有128M,所以没切)

[root@mini4 subdir0]# cat blk_1073741825
aabbccdd

为了试验,我们put 一个大于128M的文件 

查看文件怎么被切的(文件操作128M就被拆分,如下图,所以如果我们把下面2个文件加起来就是一个完整的文件)

那么对应副本又是哪样呢(保存mini4的副本)

 

-cat  

功能:显示文件内容  

示例:hadoop fs -cat  /a.txt

[root@mini4 ~]# hadoop fs -cat /a.txt
aabbccdd

-mkdir              

功能:在hdfs上创建目录

示例:hadoop fs  -mkdir  -p  /aaa

 

-moveFromLocal            

功能:从本地剪切粘贴到hdfs

示例:hadoop fs -moveFromLocal t1 /aaa

[root@mini4 ~]# hadoop fs -moveFromLocal t1 /aaa

 

-moveToLocal              

功能:从hdfs剪切粘贴到本地

示例:hadoop  fs  - moveToLocal   /aaa/t1  /test

可能会出现下面错误(好像是低版本的bug)

[root@mini4 hadoop]# hadoop fs -moveToLocal /aaa   /home/hadoop
moveToLocal: Option '-moveToLocal' is not implemented yet.

 

--appendToFile  

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

示例:hadoop  fs  -appendToFile  ./b.txt    hdfs://mini-yum:9000/a.txt

可以简写为:

hadoop fs -appendToFile ./b.txt    /a.txt

[root@mini4 hadoop]# hadoop fs -appendToFile ./b.txt /a.txt
[root@mini4 hadoop]# hadoop fs -cat  /a.txt
aabbccdd
this is b file
[root@mini4 hadoop]# 

-tail                 

功能:显示一个文件的末尾

示例:hadoop fs -tail   /a.txt

[root@mini4 hadoop]# hadoop fs -tail /a.txt
aabbccdd
this is b file

-text                  

功能:以字符形式打印一个文件的内容

示例:hadoop fs -text   /a.txt

[root@mini4 hadoop]# hadoop fs -text /a.txt
aabbccdd
this is b file

-chgrp

-chmod

-chown

功能:linux文件系统中的用法一样,对文件所属权限

示例:

hadoop fs -chmod 777 /a.txt

[root@mini4 hadoop]# hadoop fs -chmod 777 /a.txt

 

-copyFromLocal    

功能:从本地文件系统中拷贝文件到hdfs路径去

示例:hadoop fs -copyFromLocal b.txt /aaa

[root@mini4 hadoop]# hadoop fs -copyFromLocal b.txt /aaa

-copyToLocal      

功能:从hdfs拷贝到本地

示例:hadoop fs -copyToLocal /aaa/t1

[root@mini4 hadoop]# hadoop fs -copyToLocal /aaa/t1
[root@mini4 hadoop]# ll
总用量 52
drwxr-xr-x.  3 root   root    4096 1月   2 10:23 apps
-rw-r--r--.  1 root   root      15 1月   4 11:10 b.txt
-rw-r--r--.  1 root   root       6 1月   4 11:19 t1
drwxr-xr-x. 12 hadoop hadoop  4096 12月  5 09:08 zookeeper
-rw-rw-r--.  1 hadoop hadoop 31049 12月  7 08:27 zookeeper.out

 下面的命令我就没有操作了

-cp              

功能:从hdfs的一个路径拷贝hdfs的另一个路径

示例: hadoop  fs  -cp  /aaa/jdk.tar.gz  /bbb/jdk.tar.gz.2

  

-mv                     

功能:在hdfs目录中移动文件

示例: hadoop  fs  -mv  /aaa/jdk.tar.gz  /

 

-get              

功能:等同于copyToLocal,就是从hdfs下载文件到本地

示例:hadoop fs -get  /aaa/jdk.tar.gz

-getmerge             

功能:合并下载多个文件

示例:比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,...

hadoop fs -getmerge /aaa/log.* ./log.sum

 

-rm                

功能:删除文件或文件夹

示例:hadoop fs -rm -r /aaa/bbb/

 

-rmdir                 

功能:删除空目录

示例:hadoop  fs  -rmdir   /aaa/bbb/ccc

 

-df               

功能:统计文件系统的可用空间信息

示例:hadoop  fs  -df  -h  /

 

-du

功能:统计文件夹的大小信息

示例:

hadoop  fs  -du  -s  -h /aaa/*

 

-count         

功能:统计一个指定目录下的文件节点数量

示例:hadoop fs -count /aaa/

 

-setrep                

功能:设置hdfs中文件的副本数量

示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz

<这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量>

 

 

4mapreduce单词解析

[root@mini-yum ~]# cd /home/hadoop/apps/hadoop-2.6.4/share/hadoop/mapreduce

 

[root@mini-yum mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.4.jar  wordcount /a.txt /a_out.txt

报错

原因是YARN没启动

启动后就没问题了

[root@mini-yum mapreduce]# start-yarn.sh

重新执行命令(正常截图)

测试结果(数据有点少)

[root@mini-yum mapreduce]# hadoop fs -ls  /a_out.txt
Found 2 items
-rw-r--r--   2 root supergroup          0 2019-01-06 21:23 /a_out.txt/_SUCCESS
-rw-r--r--   2 root supergroup         11 2019-01-06 21:23 /a_out.txt/part-r-0000

[root@mini-yum mapreduce]# hadoop fs -cat  /a_out.txt/part-r-00000
aabbccdd    1

写一个很多数据的再测试

[root@mini-yum mapreduce]# hadoop fs -ls  /b_out
Found 2 items
-rw-r--r--   2 root supergroup          0 2019-01-06 21:39 /b_out/_SUCCESS
-rw-r--r--   2 root supergroup         49 2019-01-06 21:39 /b_out/part-r-00000
[root@mini-yum mapreduce]# hadoop fs -cat  /b_out/part-r-00000
aa    2
aabbccdd    1
bb    2
lisi    1
wangwu    1
zhangshan    1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/zhou920786312/article/details/85922426