Apache Hadoop 通过Shell操作HDFS
2019-03-07 16:54
246 查看
如何操作HDFS?
Apache Hadoop HDFS提供了两种方式:
① shell操作hdfs
② Java等语言的API支持
使用shell操作hdfs
两个重要命令:
hadoop 命令格式:hadoop fs [选项] [参数]
hdfs
命令格式:hdfs dfs [选项] [参数]
常使用命令:
hdfs dfsadmin -report : 查看整个集群的信息
hdfs getconf -confKey 键:查看块配置信息
使用hdfs dfs [选项] 操作HDFS目录树
注:hdfs dfs ...相当于hadoop fs ...
Part One
如何实现HDFS中文件的创建、查看,目录结构与文件列表的查看等?
-ls:查看目录树结构与文件列表 -R 递归查看 -mkdi 4000 r:创建目录 -p 级联创建 -touchz:创建文件 -cp:在hdfs文件系统中进行复制 -mv:在hdfs文件系统中进行移动 -rm:在hdfs文件系统中进行文件删除 -r -f -rmdir:在hdfs文件系统中进行空文件夹删除 -cat:打印内容 -tail:查看末尾n行 -text:字符串形式打印内容(例如文本文件压缩之后仍旧可以直接查看该文件的内容)
hdfs dfs -ls /
[hadoop@mycat01 current]$ hdfs dfs -ls / Found 5 items -rw-r--r-- 2 hadoop hadoop 8 2019-03-07 03:52 /1.txt -rw-r--r-- 3 hadoop hadoop 0 2019-03-06 19:29 /git.docx drwxr-xr-x - hadoop hadoop 0 2019-03-06 09:45 /mktest drwx------ - hadoop hadoop 0 2019-03-05 20:14 /tmp drwxr-xr-x - hadoop hadoop 0 2019-03-05 20:53 /user
hdfs dfs -cat 1.txt
[hadoop@mycat01 current]$ hdfs dfs -cat 1.txt 9884903
hdfs dfs -rm -r -f /git.docx
[hadoop@mycat01 current]$ hdfs dfs -rm -r -f /git.docx 19/03/07 08:09:21 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes. Deleted /git.docx [hadoop@mycat01 current]$ hdfs dfs -ls / Found 4 items -rw-r--r-- 2 hadoop hadoop 8 2019-03-07 03:52 /1.txt drwxr-xr-x - hadoop hadoop 0 2019-03-06 09:45 /mktest drwx------ - hadoop hadoop 0 2019-03-05 20:14 /tmp drwxr-xr-x - hadoop hadoop 0 2019-03-05 20:53 /user
Part Two
如何实现所在节点文件系统到HDFS的互操作?
-put(copyFromLocal):上传本地文件到hdfs目录 -get(copyToLocal):下载hdfs文件到本地目录 -getmerge:合并后下载 hdfs dfs -getmerge /mktest/*.txt ./a.txt -moveFromLocal:从本地移动文件到hdfs -moveToLocal:从hdfs移动文件到本地 -copyFromLocal:从本地拷贝文件到hdfs -copyToLocal:从hdfs移动文件到本地 -appendToFile:追加文件内容到已存在的文件 hdfs dfs -appendToFile /a.txt /mktest/a.txt -setrep:单独对某一个文件设置副本数
使用put选项进行本地文件的上传:
hdfs dfs -put 文件 目标文件路径
[hadoop@mycat01 ~]$ ll total 8 drwxr-xr-x. 11 hadoop hadoop 4096 Mar 5 11:38 hadoop-2.7.7 drwxrwxr-x 5 hadoop hadoop 4096 Mar 6 19:24 hadoopdata [hadoop@mycat01 ~]$ echo dhewidiw123 >> a.txt [hadoop@mycat01 ~]$ hdfs dfs -put a.txt / [hadoop@mycat01 ~]$ hdfs dfs -ls / Found 5 items -rw-r--r-- 2 hadoop hadoop 8 2019-03-07 03:52 /1.txt -rw-r--r-- 3 hadoop hadoop 12 2019-03-07 08:11 /a.txt drwxr-xr-x - hadoop hadoop 0 2019-03-06 09:45 /mktest drwx------ - hadoop hadoop 0 2019-03-05 20:14 /tmp drwxr-xr-x - hadoop hadoop 0 2019-03-05 20:53 /user
get是单个文件的下载,getmerge则是多文件合并后下载为一个文件
hdfs dfs -getmerge /*.txt ./a1.txt
[hadoop@mycat01 ~]$ ll total 8 drwxr-xr-x. 11 hadoop hadoop 4096 Mar 5 11:38 hadoop-2.7.7 drwxrwxr-x 5 hadoop hadoop 4096 Mar 6 19:24 hadoopdata [hadoop@mycat01 ~]$ hdfs dfs -ls / Found 5 items -rw-r--r-- 2 hadoop hadoop 8 2019-03-07 03:52 /1.txt -rw-r--r-- 3 hadoop hadoop 12 2019-03-07 08:11 /a.txt drwxr-xr-x - hadoop hadoop 0 2019-03-06 09:45 /mktest drwx------ - hadoop hadoop 0 2019-03-05 20:14 /tmp drwxr-xr-x - hadoop hadoop 0 2019-03-05 20:53 /user [hadoop@mycat01 ~]$ hdfs dfs -getmerge /*.txt ./a1.txt [hadoop@mycat01 ~]$ ll total 12 -rw-r--r-- 1 hadoop hadoop 20 Mar 7 08:15 a1.txt drwxr-xr-x. 11 hadoop hadoop 4096 Mar 5 11:38 hadoop-2.7.7 drwxrwxr-x 5 hadoop hadoop 4096 Mar 6 19:24 hadoopdata
修改文件的副本数:
查看默认的文件副本数:
[hadoop@mycat01 ~]$ hdfs getconf -confKey dfs.replication 3
hdfs dfs -setrep 2 /a.txt
[hadoop@mycat01 ~]$ hdfs dfs -setrep 2 /a.txt Replication 2 set: /a.txt
相关文章推荐
- 通过java操作Hadoop中zookeeper和HDFS的命令,同如Shell
- Hadoop大象之旅009-通过Shell操作hdfs
- hadoop 创建用户及hdfs权限,hdfs操作等常用shell命令
- Hadoop HDFS的Shell操作实例
- Hadoop之Java通过URL操作HDFS-yellowcong
- 通过Hadoop Shell命令进行导入导出操作
- Hadoop hdfs Shell命令 HDFS操作命令
- Hadoop的基本使用(2)——通过代码操作HDFS
- hadoop学习;hdfs操作;运行抛出权限异常: Permission denied;api查看源码方法;源码不停的向里循环;抽象类通过debug查找源码
- hadoop学习笔记1.使用shell和JAVA API操作HDFS
- 初识hadoop--(2)通过java操作hdfs
- hadoop中对hdfs的shell操作--block--配置参数--启动问题
- Apache Hadoop 使用Java API操作HDFS之代码实现文件夹遍历文件上传下载
- Hadoop学习笔记(五)---HDFS shell操作
- Hadoop初学指南(2)--HDFS的基本shell操作
- hadoop学习【10】——HDFS的shell操作
- HDFS的基本shell操作,hadoop fs操作命令
- Apache Hadoop2.0之HDFS均衡操作分析
- hadoop2.5.2学习及实践笔记(五)—— HDFS shell命令行常见操作
- HDFS的基本shell操作,hadoop fs操作命令