1、使用hadoop命令查看hdfs下文件

[root@localhost hadoop-2.7.2]# hadoop fs -ls hdfs://192.168.211.129:9000/  (最后一定要加/)

开始在xshell上执行这条命令失败,使用netstat -nltp命令查看监听的9000端口,是127.0.0.1:9000,没有找到办法更改这个监听的IP和端口

后来就把etc/hadoop/core-site.xml配置下的localhost改为192.168.211.129,保存配置重启HDFS,使用上面命令还是不行,重启系统后再启动hdfs和yarn,再用上面命令就不报错了,命令执行后没有任何反应,那是因为没有在HDFS系统上存文件

2、上传文件到HDFS系统,例子中上传/jdk-7u80-linux-x64.rpm文件

[root@localhost hadoop-2.7.2]# hadoop fs -put /jdk-7u80-linux-x64.rpm  hdfs://192.168.211.129:9000/

上传完成后再查看hdfs下文件

hadoop fs -ls -h hdfs://192.168.211.129:9000//或hadoop fs -ls -h /

[root@localhost sbin]# hadoop fs -ls /

Found 1 items -rw-r--r--   1 root supergroup    131.7 M 2017-04-19 00:00 /jdk-7u80-linux-x64.rpm

这个上传的文件就被切割成块分别存放在datanode节点上了,由于都在同一台服务器上,那么文件被分的块在路径

/home/hadoop/hadoop-2.7.2/tmp/dfs/data/current/BP-2144136712-127.0.0.1-1492526252533/current/finalized/subdir0/subdir0

进入到该目录可以查看到相关的块信息:

[root@localhost subdir0]# ll

总用量 135916

-rw-r--r--. 1 root root 134217728 4月  19 00:00 blk_1073741825

-rw-r--r--. 1 root root   1048583 4月  19 00:00 blk_1073741825_1001.meta

-rw-r--r--. 1 root root   3872558 4月  19 00:00 blk_1073741826

-rw-r--r--. 1 root root     30263 4月  19 00:00 blk_1073741826_1002.meta

[root@localhost subdir0]# pwd

/home/hadoop/hadoop-2.7.2/tmp/dfs/data/current/BP-2144136712-127.0.0.1-1492526252533/current/finalized/subdir0/subdir0

[root@localhost subdir0]#

3、下载HDFS系统文件

hadoop fs -get hdfs://192.168.211.129:9000/jdk-7u80-linux-x64.rpm或hadoop fs -get /jdk-7u80-linux-x64.rpm

先用ll命令查看当前文件夹下不存在该文件,下载后再查看,该文件已被下载

[root@localhost ~]# ll total 4 -rw-r--r--. 1 root root  8252 4月  17 23:28 install.log.syslog

[root@localhost ~]# hadoop fs -get hdfs://192.168.211.129:9000/jdk-7u80-linux-x64.rpm

[root@localhost ~]# ll

总用量 134904

-rw-------. 1 root root 998 Sep 26 17:58 anaconda-ks.cfg

-rw-r--r--. 1 root root 138090286 4月  19 00:15 jdk-7u80-linux-x64.rpm

[root@localhost ~]#

4、使用mapreduce算法统计单词数量,一般是在Java程序中使用的,这次就直接在hadoop安装目录下mapreduce下的Java例子中实验

  1)、首先切换到mapreduce路径下:cd /home/hadoop/hadoop-2.7.2/share/hadoop/mapreduce会看到 hadoop-mapreduce-examples-2.7.2.jar文件

  2)、新建一个测试文件,并填写测试数据:vi test.data 里面随便写入英文单词如,Youth is not a time of life; it is a state of mind; it is not a matter of rosy cheeks, red lips and supple knees; it is a matter of the will, a quality of the imagination, a vigor of the emotions; it is the freshness of the deep springs of life.

保存后上传到HDFS系统中

  3)、在HDFS系统中新建文件夹存放测试数据:

[root@localhost mapreduce]# hadoop fs -mkdir /test

[root@localhost mapreduce]# hadoop fs -mkdir /test/testdata

[root@localhost mapreduce]# hadoop fs -put test.data /test/testdata

[root@localhost mapreduce]# hadoop fs -ls /

Found 2 items

-rw-r--r-- 1 root supergroup 181310701 2017-04-19 15:35 /jdk-7u80-linux-x64.rpm

drwxr-xr-x - root supergroup 0 2017-04-19 15:35 /test

[root@localhost mapreduce]#

  4)、执行单词统计操作,/test/output为输出路径

[root@localhost mapreduce]# hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /test/testdata /test/output

  5)、查看输出结果

[root@localhost mapreduce]# hadoop fs -ls /test/output

Found 2 items

-rw-r--r-- 1 root supergroup 0 2017-04-19 15:35 /test/output/_SUCCESS

-rw-r--r-- 1 root supergroup 223 2017-04-19 15:35 /test/output/part-r-00000

[root@localhost mapreduce]# hadoop fs -cat /test/output/part-r-00000

Youth 1
a 6
and 1
cheeks, 1
deep 1
emotions; 1
freshness 1
imagination, 1
is 5
it 4
knees; 1
life. 1
life; 1
lips 1
matter 2
mind; 1
not 2
of 8
quality 1
red 1
rosy 1
springs 1
state 1
supple 1
the 5
time 1
vigor 1
will, 1

二、hadoop文件操作的更多相关文章

  1. C语言第十二讲,文件操作.

    C语言第十二讲,文件操作. 一丶文件操作概述 在操作系统中,我们的文档都称为文件.操作系统也为我们提供了接口进行操作.不同语言都是使用的相同的接口,只不过封装的上层接口不一样 操作文件的步骤 打开文件 ...

  2. 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  3. 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作(转)

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  4. 《Java核心技术卷二》笔记(二)文件操作和内存映射文件

    文件操作 上一篇已经总结了流操作,其中也包括文件的读写.文件系统除了读写以为还有很多其他的操作,如复制.移动.删除.目录浏览.属性读写等.在Java7之前,一直使用File类用于文件的操作.Java7 ...

  5. python学习笔记(二)文件操作和集合

    集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...

  6. 初识Hadoop二,文件操作

    1.使用hadoop命令查看hdfs下文件 [root@localhost hadoop-2.7.3]# hadoop fs -ls hdfs://192.168.36.134:9000/ 开始在se ...

  7. Android入门之文件系统操作(二)文件操作相关指令

    (一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/ ...

  8. Hadoop文件操作常用命令

    1.创建目录 #hdfs dfs -mkidr /test 2.查询目录结构 #hdfs dfs -ls / 子命令 -R递归查看//查看具体的某个目录:例如#hdfs dfs -ls /test 3 ...

  9. Java实验——输出一个数组里面连续子数组最大的和(二)文件操作

    在本周的练习中,主要是对上周的实验进行健壮性的完善,即在所能考虑到的情况之中,尽量使自己的程序能够正常地运行. 在上周的实验中,我已经是在编程过程中考虑到用户输入的错误类型的问题,所以这一方面并没有多 ...

随机推荐

  1. App Store提交审核报错 ERROR ITMS-90087解决办法

    1.原因说明 app对Wifi进行配网, 使用了GizWifiSDK.framework提交App Store时候报错了 App Store Connect Operation Error ERROR ...

  2. April Fools Day Contest 2019 A. Thanos Sort

    A. Thanos Sort time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  3. wx-xcx

    一.因测试小程序,搜索了各种测试小程序的注意点,为方便后续查看,暂时整理罗列如下: 1.留意分享功能的权限:如果某页面对游客访问有权限限制,则需要设置取消其分享功能. 2.小程序强制更新功能:新版小程 ...

  4. BZOJ 1061 [Noi2008]志愿者招募(费用流)

    题目描述 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完成,其中第i ...

  5. C语言数据结构-链式队列的实现-初始化、销毁、清空、长度、队列头元素、插入、删除、显示操作

    1.数据结构-链式队列的实现-C语言 typedef struct QNode { int data; struct QNode *next; }QNode,*QueuePtr; typedef st ...

  6. Leetcode 8. String to Integer (atoi) atoi函数实现 (字符串)

    Leetcode 8. String to Integer (atoi) atoi函数实现 (字符串) 题目描述 实现atoi函数,将一个字符串转化为数字 测试样例 Input: "42&q ...

  7. 初用sqlite3.exe

    1.记得要先建立数据库文件 为了进行数据库的编写,我安装了sqlite3,由于刚接触数据库,我尝试着建立表,并插入元组,属性,用select from语句也可以调出写入的内容,但是不知道如何保存,直接 ...

  8. IO模型之三Reactor 和 Proactor IO设计模式

    反应器Reactor: 在事件驱动的应用中,应用中的请求总是通过事件(如CONNECTOR.READ.WRITE等)来表示,当多个请求同时到来时,这些请求最终还是会被序列化地处理,在序列化处理这些服务 ...

  9. I/O设备

    I/O(Input/Output)设备是指与计算机进行数据传输的硬件,具体分为字符设备.块设备.网络设备. 字符设备 字符设备(character device),又叫做人机交互设备.用户通过这些设备 ...

  10. R语言结果输出方法

    输出函数:cat,sink,writeLines,write.table 根据输出的方向分为输出到屏幕和输出到文件. 1.cat函数即能输出到屏幕,也能输出到文件. 使用方式:cat(... , fi ...