提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
HDOOP@2
HDOOP@2
一、pandas是什么# 学习目标:
提示:回忆上次文章
学习目标:熟练掌握hadoop fs命令
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、hadoop
HDFS集群:
- 负责数据的存储。
- 集群中的角色:
- NameNode:命名结点
- DataNode:数据结点
- SecondaryNameNode:秘书结点
YARN集群
- 负责数据运算的硬件资源调度,比如内存
- 集群中的角色
- Resource Manager
- Node Manager
1.直接走cdh
安装方式和教程网上自寻
1.su - hdfs
-ls | -ls <路径> | 查看指定路径的当前目录结构 |
---|---|---|
选项名称 | 使用格式 | 含义 |
-lsr | -lsr <路径> | 递归查看指定路径的目录结构 |
-du | -du <路径> | 统计目录下个文件大小 |
-dus | -dus <路径> | 汇总统计目录下文件(夹)大小 |
-count | -count [-q] <路径> | 统计文件(夹)数量 |
-mv | -mv <源路径> <目的路径> | 移动 |
-cp | -cp <源路径> <目的路径> | 复制 |
-rm | -rm [-skipTrash] <路径> | 删除文件/空白文件夹 |
-rmr | -rmr [-skipTrash] <路径> | 递归删除 |
-put | -put <多个linux上的文件> <hdfs路径> | 上传文件 |
-copyFromLocal | -copyFromLocal <多个linux上的文件> <hdfs路径> | 从本地复制 |
-moveFromLocal | -moveFromLocal <多个linux上的文件> <hdfs路径> | 从本地移动 |
-getmerge | -getmerge <源路径> <linux路径> | 合并到本地 |
-cat | -cat <hdfs路径> | 查看文件内容 |
-text | -text <hdfs路径> | 查看文件内容 |
-copyToLocal | -copyToLocal [-ignoreCrc] [-crc] [hdfs源路径] [linux目的路径] | 从本地复制 |
-moveToLocal | -moveToLocal [-crc] <hdfs源路径> <linux目的路径> | 从本地移动 |
-mkdir | -mkdir <hdfs路径> | 创建空白文件夹 |
-setrep | -setrep [-R] [-w] <副本数> <路径> | 修改副本数量 |
-touchz | -touchz <文件路径> | 创建空白文件 |
-stat | -stat [format] <路径> | 显示文件统计信息 |
-tail | -tail [-f] <文件> | 查看文件尾部信息 |
-chmod | -chmod [-R] <权限模式> [路径] | 修改权限 |
-chown | -chown [-R] [属主][:[属组]] 路径 | 修改属主 |
-chgrp | -chgrp [-R] 属组名称 路径 | 修改属组 |
-help | -help [命令选项] | 帮助 |
### 操作Hadoop以外的文件
- Shell命令行客户端不止可以操作HDFS的文件,还可以操作其他Hadoop支持的文件系统,比如linux的文件系统(示例):
hadoop fs -ls file:///root
#这个命令就和在linux下执行 ls /root一样
hadoop fs -ls [-h] [-R]
-h 文件大小显示
-R 显示当前路径下的文件和文件的子路径
[root@node-1 ~]# hadoop fs -ls -h /
Found 3 items
-rw-r--r-- 2 root supergroup 9.2 K 2020-03-26 01:57 /install.log.syslog
drwx------ - root supergroup 0 2020-03-26 00:59 /tmp
drwxr-xr-x - root supergroup 0 2020-03-26 00:59 /user
-mkdir
hadoop fs -mkdir [-p]
和linux一样
-put
上传
hadoop fs -put [-f] [-p] [ -| … ].
-
注意,前面的路径默认Linux的路径,就是直接输入/是linux的根目录
-
后面的路径是是Hadoop的路径,就是输入/是NameSpace的根目录
-p:保留访问和修改时间,所有权和权限。
-f:覆盖目的地(如果已经存在)
#把本地文件上传到Hadoop中
[root@node-1 ~]# hadoop fs -put /root/install.log.syslog /
[root@node-1 ~]# hadoop fs -ls -h /
Found 3 items
-rw-r--r-- 2 root supergroup 9.2 K 2020-03-26 01:57 /install.log.syslog
drwx------ - root supergroup 0 2020-03-26 00:59 /tmp
drwxr-xr-x - root supergroup 0 2020-03-26 00:59 /user
-get
下载
使用方法:hadoop fs -get [-ignorecrc] [-crc] [-p] [-f]
-ignorecrc:跳过对下载文件的CRC检查。
-crc:为下载的文件写CRC校验和。
[root@node-1 test]# hadoop fs -get /install.log.syslog ./
[root@node-1 test]# ll
total 12
-rw-r--r--. 1 root root 9380 Mar 26 09:14 install.log.syslog
-appendToFile
把一个本地文件的内容追加到NameSpace中的另一个文件的最后
hadoop fs -appendToFile …
#本地创建1和2两个txt,文件内容就是1和2
[root@node-1 test]# vim 1.txt
[root@node-1 test]# vim 2.txt
#检查文件创建是否成功
[root@node-1 test]# ls
1.txt 2.txt install.log.syslog
#把1上传到NameSpace中
[root@node-1 test]# hadoop fs -put 1.txt /
#通过Hadoop命令查看
[root@node-1 test]# hadoop fs -cat /1.txt
1
#appendToFile
[root@node-1 test]# hadoop fs -appendToFile 2.txt /1.txt
#再次查看,说明成功了
[root@node-1 test]# hadoop fs -cat /1.txt
1
2
-cat
使用方法:hadoop fs -cat [-ignoreCrc] URI [URI …]
和linux一样
-getmerge
功能:合并下载多个文件
示例:比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,…
hadoop fs -getmerge /aaa/log.* ./log.sum-tail**
使用方法:hadoop fs -tail [-f] URI
功能:将文件的最后一千字节内容显示到stdout。
-f选项将在文件增长时输出附加数据。
示例:hadoop fs -tail /hadoop/hadoopfile
-setrep
功能:改变一个文件的副本数量。
-R 选项用于递归改变目录下所有文件的副本数量。
示例:hadoop fs -setrep -w 3 -R /user/hadoop/dir1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXArPZjr-1603184188258)(03.HDFS入门.assets/image-20200326172901776.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0NaSMrpZ-1603184188260)(03.HDFS入门.assets/image-20200326172917107.png)]
-chgrp**
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]
功能:更改文件组的关联。用户必须是文件的所有者,否则是超级用户。
-R将使改变在目录结构下递归进行。
示例:hadoop fs -chgrp othergroup /hadoop/hadoopfile
-chmod
功能:改变文件的权限。使用-R将使改变在目录结构下递归进行。
示例:hadoop fs -chmod 666 /hadoop/hadoopfile
-chown
功能:改变文件的拥有者。使用-R将使改变在目录结构下递归进行。
示例:hadoop fs -chown someuser:somegrp /hadoop/hadoopfile
其他命令
-copyFromLocal
和put一样
使用方法:hadoop fs -copyFromLocal URI
功能:从本地文件系统中拷贝文件到hdfs路径去
示例:hadoop fs -copyFromLocal /root/1.txt /
-copyToLocal
和get一样
功能:从hdfs拷贝到本地
示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz
-cp
功能:从hdfs的一个路径拷贝hdfs的另一个路径
示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
-mv
功能:在hdfs目录中移动文件
示例: hadoop fs -mv /aaa/jdk.tar.gz /
-rm
功能:删除指定的文件。只删除非空目录和文件。-r 递归删除。
示例:hadoop fs -rm -r /aaa/bbb/
-df
功能:统计文件系统的可用空间信息
示例:hadoop fs -df -h /
-du
功能:显示目录中所有文件大小,当只指定一个文件时,显示此文件的大小。
示例:hadoop fs -du /user/hadoop/dir1