Hadoop HDFS命令操作实例

一.创建与查看HDFS目录

每次重启后,Jps和java -version执行出来的结果不符合就使用

`source ~/.bash_profile` 是在 Unix/Linux 系统上用来重新加载用户的 Bash 配置文件 `~/.bash_profile` 的命令。这条命令的作用是使得当前的 Bash 环境重新读取并应用 `~/.bash_profile` 中的设置和变量定义。

首先检查master0、slave0虚拟机网络和java版本("1.7.0_71"),检查后再启动hadoop

csu@master0 \~\]$ cd \~/hadoop-2.6.0 \[csu@master0 hadoop-2.6.0\]$ sbin/start-all.sh (启动) \[csu@master0 hadoop-2.6.0\]$ sbin/stop-all.sh (关闭) 再检查是否启动成功 ![](https://i-blog.csdnimg.cn/direct/7ac5c47f94bd44d3968f3f1faec93b13.png) ![](https://i-blog.csdnimg.cn/direct/8d3daad5bc8845438ac4da16cfba9ade.png) ![](https://i-blog.csdnimg.cn/direct/f71c40ee93ed42128a52f694601d4e54.png) ![](https://i-blog.csdnimg.cn/direct/671916132b014b2b94461fe753e8db90.png) ![](https://i-blog.csdnimg.cn/direct/1cf16022badc4e1dba8bf70116d2d44a.png) ![](https://i-blog.csdnimg.cn/direct/8e93dbcd990a4d649624526825bc5dea.png) ![](https://i-blog.csdnimg.cn/direct/f0f6aa4c2f6249f99f3ad16cfdebc764.png) 1、创建HDFS目录: -p可以递归创建 ![](https://i-blog.csdnimg.cn/direct/a59c5102ac6d414b8bb59eb3b68ec39c.png) 2、查看之前创建的HDFS目录 ![](https://i-blog.csdnimg.cn/direct/5e0ad2f0b67e4dc982d4eb12bd2f1150.png) 注意:因为登录的用户为csu,所以会显示/user/csu下的目录。 3、查看HDFS完整目录 因为hadoop fs -ls只能查看一级目录,所以必须逐级查看: ![](https://i-blog.csdnimg.cn/direct/353e21b80b8a4d4c87e1dc3c4c84133a.png) 4、查看所有的HDFS子目录 HDFS提供了一个方便的选项 -R 可以递归查看目录 ![](https://i-blog.csdnimg.cn/direct/d2b6c115f7ad47ebbf13da51e9fdb04c.png) 5、一次性创建所有HDFS子目录 逐级创建很麻烦,但是可以添加参数-p,来一次性创建多级目录: ![](https://i-blog.csdnimg.cn/direct/cb0ff44295d04aec905141cd32847fc6.png) * ## 二.从本地计算机复制文件到HDFS 1、复制本地文件到HDFS: 准备工作,创建本地文件 ![](https://i-blog.csdnimg.cn/direct/509456876dec42758f3de4d6d23c3dc0.png) ![](https://i-blog.csdnimg.cn/direct/3ed1be0b44d54a20aad8b285b88efcc6.png) 随便写的内容进去lc.txt 按Esc 再:wq保存退出 ![](https://i-blog.csdnimg.cn/direct/4d323ada0b274fe5b82962f5c8848008.png) 2、列出文件内容: ![](https://i-blog.csdnimg.cn/direct/1b25a5c8c4d8451496d4f044479c48ba.png) 可以使用:hadoop fs -cat /user/hduser/test/test1.txt \| more 进行分页显示 3、如果复制到HDFS的文件已经存在,会报错,此时可以使用-f 参数,强制复制重复文件到HDFS目录: ![](https://i-blog.csdnimg.cn/direct/900f44d751d844a29eaee223addc8f9e.png) 4、从本地复制多个文件到HDFS,中间用空格分割即可。 5、从本地复制整个目录到HDFS: ![](https://i-blog.csdnimg.cn/direct/1a852bdde00c459da2182b77dc0d5653.png) 6、列出HDFS目录下的所有文件(包括这个目录下子目录的文件) ![](https://i-blog.csdnimg.cn/direct/df5bc17b584040d3a56f88cb2497fbcf.png) 7、使用put复制文件到HDFS,这个参数与copyFromLocal的不同之处在于: -put更宽松,可以把本地或者HDFS上的文件拷贝到HDFS中;而-copyFromLocal则更严格限制只能拷贝本地文件到HDFS中。如果本地和HDFS上都存在相同路径,则-put跟趋于优先取HDFS的源。(不用太深究两者区别,更多用-put) ![](https://i-blog.csdnimg.cn/direct/db19699c032b4b3280ba4c5ee045cfda.png) * ## 三.从HDFS上复制文件到本地 1、参数 -copyToLocal ![](https://i-blog.csdnimg.cn/direct/ae826d818e1c4e7c995d9d03c57a19cf.png) 2、同样的也可以用参数-get完成上述操作: ![](https://i-blog.csdnimg.cn/direct/c8e1668c3a8a4b98a9774d9f08d8a07a.png) * ## 四.复制与删除HDFS文件 1、使用-cp参数,在HDFS上进行复制文件 ![](https://i-blog.csdnimg.cn/direct/400cb57e698d4120985a98c1492fd308.png) 2、使用-rm参数,删除HDFS上的文件;添加-R参数,删除目录: ![](https://i-blog.csdnimg.cn/direct/7a9574dc155d46a4bd91f36eee9f0cb5.png) ![](https://i-blog.csdnimg.cn/direct/edb8a12b42bb47bf9a1c96da73248be8.png) **完成实验后一定要关闭** **hadoop** **,避免下次启动虚拟机时** **hadoop** **出现问题。** ![](https://i-blog.csdnimg.cn/direct/ad92685dd1044ea6bf13810b06a6d160.png) ------------学习笔记

相关推荐
Hello World......1 小时前
Java求职面试揭秘:从Spring到微服务的技术挑战
大数据·hadoop·spring boot·微服务·spark·java面试·互联网大厂
yyywoaini~11 小时前
序列化和反序列化hadoop实现
hadoop·eclipse·php
薇晶晶11 小时前
hadoop中spark基本介绍
hadoop
hnlucky13 小时前
Windows 上安装下载并配置 Apache Maven
java·hadoop·windows·学习·maven·apache
尘世壹俗人21 小时前
hadoop.proxyuser.代理用户.授信域 用来干什么的
大数据·hadoop·分布式
lightYouUp1 天前
windows系统中下载好node无法使用npm
前端·npm·node.js
Dontla1 天前
npm cross-env工具包介绍(跨平台环境变量设置工具)
前端·npm·node.js
2401_cf1 天前
为什么hadoop不用Java的序列化?
java·hadoop·eclipse
墨水白云1 天前
nestjs[一文学懂nestjs中对npm功能包的封装,ioredis封装示例]
前端·npm·node.js
bloglin999992 天前
npm和nvm和nrm有什么区别
前端·npm·node.js