Hadoop:
https://blog.csdn.net/mulangren1988/article/details/54860924
Hadoop:
1. Hadoop fs –fs [local | <file system URI>]: 列出在指定目录下的文件内容,支持pattern匹配。输出格式如filename(full path) <r n> size. 其中n代表replica的个数,size代表大小(单位bytes)。 2. hadoop fs –ls <path> 递归列出匹配pattern的文件信息,类似ls,只不过递归列出所有子目录信息。 3. hadoop fs –lsr <path>: 列出匹配pattern的指定的文件系统空间总量(单位bytes),等价于unix下的针对目录的du –sb <path>/*和针对文件的du –b <path> ,输出格式如name(full path) size(in bytes)。 4. hadoop fs –du <path> 等价于-du,输出格式也相同,只不过等价于unix的du -sb。 5. hadoop fs –dus <path> 将制定格式的文件 move到指定的目标位置。当src为多个文件时,dst必须是个目录。 6. hadoop fs –mv <src> <dst> 拷贝文件到目标位置,当src为多个文件时,dst必须是个目录。 7. hadoop fs –cp <src> <dst> 删除匹配pattern的指定文件,等价于unix下的rm <src> 8. hadoop fs –rm [-skipTrash] <src> 递归删掉所有的文件和目录,等价于unix下的rm –rf <src> 9. hadoop fs –rmr [skipTrash] <src> 等价于unix的rm –rfi <src> 10. hadoop fs –rmi [skipTrash] <src> 从本地系统拷贝文件到DFS 11. hadoop fs –put <localsrc> … <dst> 等价于-put 12. hadoop fs –copyFromLocal <localsrc> … <dst> 等同于-put,只不过源文件在拷贝后被删除 13. hadoop fs –moveFromLocal <localsrc> … <dst> 从DFS拷贝文件到本地文件系统,文件匹配pattern,若是多个文件,则dst必须是目录 14. hadoop fs –get [-ignoreCrc] [-crc] <src> <localdst> 顾名思义,从DFS拷贝多个文件、合并排序为一个文件到本地文件系统 15. hadoop fs –getmerge <src> <localdst> 输出文件内容 16. hadoop fs –cat <src> 等价于-get 17. hadoop fs –copyToLocal [-ignoreCrc] [-crc] <src> <localdst> 在指定位置创建目录 18. hadoop fs –mkdir <path> 设置文件的备份级别,-R标志控制是否递归设置子目录及文件 19. hadoop fs –setrep [-R] [-w] <rep> <path/file> 修改文件的权限,-R标记递归修改。MODE为a+r,g-w,+rwx等,OCTALMODE为755这样 20. hadoop fs –chmod [-R] <MODE[,MODE]…|OCTALMODE> PATH… 修改文件的所有者和组。-R表示递归 21. hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH… 等价于-chown … :GROUP … 22. hadoop fs -chgrp [-R] GROUP PATH… 计数文件个数及所占空间的详情,输出表格的列的含义依次为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的话,还会列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA 23. hadoop fs –count[-q] <path>
2.1 创建目录命令: hdfs dfs -mkdir <paths> [hadoop@hadoop002 hadoop]$ hdfs dfs -mkdir /20180523 [hadoop@hadoop002 hadoop]$
2.2.列出目录的内容命令: hdfs dfs -ls <paths>
[hadoop@hadoop002 hadoop]$ hdfs dfs -ls /
Found 5 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:48 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 hadoop]$
2.3 在HDFS中上传文件: hdfs dfs -put <local_files> ... <hdfs_path>
[hadoop@hadoop002 hadoop]$ cd ~
[hadoop@hadoop002 ~]$ ll
total 4
-rw-rw-r--. 1 hadoop hadoop 0 May 21 17:09 authorized_key
-rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
[hadoop@hadoop002 ~]$ hdfs dfs -put gw_test.log3 /gw_test.log4
Found 6 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:48 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /gw_test.log4
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
2.4 从HDFS下载文件:hdfs dfs -get <hdfs_paths> <local_path>
[hadoop@hadoop002 ~]$ ll
total 4
-rw-rw-r--. 1 hadoop hadoop 0 May 21 17:09 authorized_key
-rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
[hadoop@hadoop002 ~]$ hdfs dfs -get /gw_test.log4
[hadoop@hadoop002 ~]$ ll
total 8
-rw-rw-r--. 1 hadoop hadoop 0 May 21 17:09 authorized_key
-rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
-rw-r--r--. 1 hadoop hadoop 25 May 23 14:52 gw_test.log4
2.5 查看文件内容:hdfs dfs -cat <paths>
[hadoop@hadoop002 ~]$ hdfs dfs -cat /gw_test.log4
1111
2222
3333
4444
5555
[hadoop@hadoop002 ~]$
2.6 复制文件命令:hdfs dfs -cp <source_path> ... <destination_path>
[hadoop@hadoop002 ~]$ hdfs dfs -cp /gw_test.log3 /20180523
Found 1 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:55 /20180523/gw_test.log3
[hadoop@hadoop002 ~]$
2.7 将文件从源移动到目标命令: hdfs dfs -mv <source_path> <destination_path>
[hadoop@hadoop002 ~]$ hdfs dfs -ls /
Found 6 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:55 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /gw_test.log4
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 ~]$ hdfs dfs -mv /gw_test.log4 /20180523
[hadoop@hadoop002 ~]$ hdfs dfs -ls /
Found 5 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:57 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
Found 2 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:55 /20180523/gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /20180523/gw_test.log4
[hadoop@hadoop002 ~]$
Deleted /20180523
Found 4 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 ~]$
2.8 从HDFS中删除文件或目录命令:
hdfs dfs -rm <path> -- 删除文件
hdfs dfs -rm -r <path> -- 删除目录
[hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
Found 2 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:55 /20180523/gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /20180523/gw_test.log4
[hadoop@hadoop002 ~]$ hdfs dfs -rm /20180523/gw_test.log3
Deleted /20180523/gw_test.log3
[hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
Found 1 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /20180523/gw_test.log4
[hadoop@hadoop002 ~]$
2.9 显示文件的尾部命令:hdfs dfs -tail <path>
[hadoop@hadoop002 ~]$ hdfs dfs -tail /gw_test.log3
1111
2222
3333
4444
5555
[hadoop@hadoop002 ~]$
2.10 显示特定文件的总长度命令: hdfs dfs -du <path>
[hadoop@hadoop002 ~]$ hdfs dfs -du /gw_test.log3
25 /gw_test.log3
[hadoop@hadoop002 ~]$
2.11 计数目录和文件命令: hdfs dfs -count <path>
[hadoop@hadoop002 ~]$ hdfs dfs -count /gw_test.log3
0 1 25 /gw_test.log3
2.12 文件系统中的空间的详细信息命名: hdfs dfs -df <path>
[hadoop@hadoop002 ~]$ hdfs dfs -df /
Filesystem Size Used Available Use%
hdfs://hadoop002:9000 40028807168 704512 30802395136 0%
[hadoop@hadoop002 ~]$
1. 单独启动和关闭hadoop服务
启动名称节点
#hadoop-daemon.sh start namenode
启动数据节点
#hadoop-daemons.sh start datanode slave
启动secondarynamenode
#hadoop-daemon.sh start secondarynamenode
启动resourcemanager
#yarn-daemon.sh start resourcemanager
启动nodemanager
#bin/yarn-daemons.sh start nodemanager
停止数据节点
#hadoop-daemons.sh stop datanode
HDFS:
2. 常用的命令
创建目录
#hdfs dfs -mkdir /input
创建文件
#hdfs dfs -touchz 文件名
查看
#hdfs dfs -ls
递归查看
#hdfs dfs ls -R
上传
#hdfs dfs -put
下载
#hdfs dfs -get
删除
#hdfs dfs -rm
从本地剪切粘贴到hdfs
#hdfs fs -moveFromLocal /input/xx.txt /input/xx.txt
从hdfs剪切粘贴到本地
#hdfs fs -moveToLocal /input/xx.txt /input/xx.txt
追加一个文件到另一个文件到末尾
#hdfs fs -appedToFile ./hello.txt /input/hello.txt
查看文件内容
#hdfs fs -cat /input/hello.txt
显示一个文件到末尾
#hdfs fs -tail /input/hello.txt
以字符串的形式打印文件的内容
#hdfs fs -text /input/hello.txt
修改文件权限
#hdfs fs -chmod 666 /input/hello.txt
修改文件所属
#hdfs fs -chown ruoze.ruoze /input/hello.txt
从本地文件系统拷贝到hdfs里
#hdfs fs -copyFromLocal /input/hello.txt /input/
从hdfs拷贝到本地
#hdfs fs -copyToLocal /input/hello.txt /input/
从hdfs到一个路径拷贝到另一个路径
#hdfs fs -cp /input/xx.txt /output/xx.txt
从hdfs到一个路径移动到另一个路径
#hdfs fs -mv /input/xx.txt /output/xx.txt
统计文件系统的可用空间信息
#hdfs fs -df -h /
统计文件夹的大小信息
#hdfs fs -du -s -h /
统计一个指定目录下的文件节点数量
#hadoop fs -count /aaa
使用hdfs有时候需要统计文件行数和文件的大小
1.hdfs下载文件夹中多个文件
hadoop fs -get /目录 目录
2.统计多个文件行数
hadoop fs -cat /文件* | wc -l
3.统计文件大小
hadoop fs -count /文件*
设置hdfs的文件副本数量
#hadoop fs -setrep 3 /input/xx.txt