二、hadoop文件操作
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文件操作的更多相关文章
- C语言第十二讲,文件操作.
C语言第十二讲,文件操作. 一丶文件操作概述 在操作系统中,我们的文档都称为文件.操作系统也为我们提供了接口进行操作.不同语言都是使用的相同的接口,只不过封装的上层接口不一样 操作文件的步骤 打开文件 ...
- 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...
- 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作(转)
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...
- 《Java核心技术卷二》笔记(二)文件操作和内存映射文件
文件操作 上一篇已经总结了流操作,其中也包括文件的读写.文件系统除了读写以为还有很多其他的操作,如复制.移动.删除.目录浏览.属性读写等.在Java7之前,一直使用File类用于文件的操作.Java7 ...
- python学习笔记(二)文件操作和集合
集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...
- 初识Hadoop二,文件操作
1.使用hadoop命令查看hdfs下文件 [root@localhost hadoop-2.7.3]# hadoop fs -ls hdfs://192.168.36.134:9000/ 开始在se ...
- Android入门之文件系统操作(二)文件操作相关指令
(一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/ ...
- Hadoop文件操作常用命令
1.创建目录 #hdfs dfs -mkidr /test 2.查询目录结构 #hdfs dfs -ls / 子命令 -R递归查看//查看具体的某个目录:例如#hdfs dfs -ls /test 3 ...
- Java实验——输出一个数组里面连续子数组最大的和(二)文件操作
在本周的练习中,主要是对上周的实验进行健壮性的完善,即在所能考虑到的情况之中,尽量使自己的程序能够正常地运行. 在上周的实验中,我已经是在编程过程中考虑到用户输入的错误类型的问题,所以这一方面并没有多 ...
随机推荐
- ERC230 VS ERC223
ERC223对ERC220的改进 ERC223是以太坊上最新的代币(token)接口标准,主要是为了解决ERC220代币转账丢失问题,那么怎么解决的呢,一起来看看. 1. ERC220 存在问题 ER ...
- session相关
判断session是否已失效: HttpSession session=request.getSession(false); getSession(boolean)相比于getSession()更安全 ...
- zookeeper安装和使用 windows
的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单, ...
- kali linux之拒绝服务
Dos不是DOS(利用程序漏洞或一对一资源耗尽的denial of service拒绝服务) DDoS分布式拒绝服务(多对一的攻击汇聚资源能力,重点在于量大,属于资源耗尽型) 历史 以前:欠缺技术能力 ...
- SpringBoot Maven多模块整合MyBatis 打包jar
最近公司开始新的项目,框架选定为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 源码:https://github.com/12641561 ...
- CF914E Palindromes in a Tree
$ \color{#0066ff}{ 题目描述 }$ 给你一颗 n 个顶点的树(连通无环图).顶点从 1 到 n 编号,并且每个顶点对应一个在'a'到't'的字母. 树上的一条路径是回文是指至少有一个 ...
- 利用PHP 简单实现加减法验证码
<?php header('Content-Type: image/png'); $im = imagecreatetruecolor( 200 , 50 );//生成图片长宽 // Creat ...
- Application received signal SIGABRT
Application received signal SIGABRT (null) (( 0 CoreFoundation 0x0000000182bbadc8 <redacted> + ...
- XMLHttpRequest 与 Ajax 概要
关于XMLHttpRequest 开发者使用XMLHttpRequest对象与服务端进行交互(发送http请求.接受返回数据等),可以在不打断用户下一步操作的情况下刷新局部页面.XMLHttpRequ ...
- Spring Cloud-服务的注册与发现之服务注册中心(Eureka Server)
Spring cloud是为了什么产生的? 根据官网的这个介绍来看,我们可以知道,Spring cloud是为开发者提供的一个工具,而使用这个工具的产生就是为了帮助开发者快速的开发一套比较通用的分布式 ...