初识Hadoop二,文件操作
1、使用hadoop命令查看hdfs下文件
[root@localhost hadoop-2.7.3]# hadoop fs -ls hdfs://192.168.36.134:9000/
开始在secureCRT上执行这条命令失败,使用netstat -nltp命令查看监听的9000端口,是127.0.0.1:9000,没有找到办法更改这个监听的IP和端口
后来就把etc/hadoop/core-site.xml配置下的localhost改为192.168.36.134,保存配置重启HDFS,使用上面命令还是不行,重启系统后再启动hdfs和yarn,再用上面命令就不报错了,命令执行后没有任何反应,那是因为没有在HDFS系统上存文件
2、上传文件到HDFS系统,例子中上传/home/jdk/jdk-8u73-linux-x64.tar.gz文件
[root@localhost jdk]# hadoop fs -put jdk-8u73-linux-x64.tar.gz hdfs://192.168.36.134:9000/
上传完成后再查看hdfs下文件hadoop fs -ls hdfs://192.168.36.134:9000/或hadoop fs -ls /
[root@localhost sbin]# hadoop fs -ls /
Found 1 items
-rw-r--r-- 1 root supergroup 181310701 2016-10-06 15:35 /jdk-8u73-linux-x64.tar.gz
[root@localhost sbin]#
这个上传的文件就被切割成块分别存放在datanode节点上了,由于都在同一台服务器上,那么文件被分的块在路径/home/hadoop/hadoop-2.7.3/tmp/dfs/data/current/BP-944456004-127.0.0.1-1475724779784/current/finalized/subdir0/subdir0下,分成两块大小分别为134217728和47092973
[root@localhost subdir0]# ll
total 178452
-rw-r--r--. 1 root root 134217728 Oct 6 15:35 blk_1073741825
-rw-r--r--. 1 root root 1048583 Oct 6 15:35 blk_1073741825_1001.meta
-rw-r--r--. 1 root root 47092973 Oct 6 15:35 blk_1073741826
-rw-r--r--. 1 root root 367923 Oct 6 15:35 blk_1073741826_1002.meta
[root@localhost subdir0]# pwd
/home/hadoop/hadoop-2.7.3/tmp/dfs/data/current/BP-944456004-127.0.0.1-1475724779784/current/finalized/subdir0/subdir0
[root@localhost subdir0]#
3、下载HDFS系统文件
hadoop fs -get hdfs://192.168.36.134:9000/jdk-8u73-linux-x64.tar.gz或hadoop fs -get /jdk-8u73-linux-x64.tar.gz
先用ll命令查看当前文件夹下不存在该文件,下载后再查看,该文件已被下载
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 998 Sep 26 17:58 anaconda-ks.cfg
[root@localhost ~]# hadoop fs -get hdfs://192.168.36.134:9000/jdk-8u73-linux-x64.tar.gz
[root@localhost ~]# ll
total 177068
-rw-------. 1 root root 998 Sep 26 17:58 anaconda-ks.cfg
-rw-r--r--. 1 root root 181310701 Oct 6 17:24 jdk-8u73-linux-x64.tar.gz
[root@localhost ~]#
4、使用mapreduce算法统计单词数量,一般是在Java程序中使用的,这次就直接在hadoop安装目录下mapreduce下的Java例子中实验
1)、首先切换到mapreduce路径下:cd /home/hadoop/hadoop-2.7.3/share/hadoop/mapreduce会看到 hadoop-mapreduce-examples-2.7.3.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 2016-10-06 15:35 /jdk-8u73-linux-x64.tar.gz
drwxr-xr-x - root supergroup 0 2016-10-06 17:54 /test
[root@localhost mapreduce]#
4)、执行单词统计操作,/test/output为输出路径
[root@localhost mapreduce]# hadoop jar hadoop-mapreduce-examples-2.7.3.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 2016-10-06 18:13 /test/output/_SUCCESS
-rw-r--r-- 1 root supergroup 223 2016-10-06 18:12 /test/output/part-r-00000
[root@localhost mapreduce]# hadoop fs -cat /test/output/part-r-00000
5、根据取样获取pi值,取样越多pi值越精确,下面以10X10为例
[root@localhost mapreduce]# hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 10 10
初识Hadoop二,文件操作的更多相关文章
- Hadoop学习笔记之二 文件操作
HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...
- java I/O框架 (二)文件操作(File)
1.介绍 java io中最常操作的就是我们电脑中的文件,将这些文件以流的形式本地读写,或者上传到网络上.java中的File类就是对这些存储于磁盘上文件的虚拟映射,这也体现了java面向对象的思想, ...
- 初识python: 文件操作
1.文件的打开模式: r:读模式:w:写模式:a:追加模式,在文件最后写入内容;r+:读写模式,读取文件内容,并在末尾添加记录:w+:写读模式,新建文件并添加记录:a+:追加写读:rb:以二进制格式读 ...
- Hadoop HDFS文件操作
1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...
- hadoop的文件操作整理java
package dada; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...
- hadoop 一些文件操作
在HDFS上面,FileSystem创建目录 复制本地文件到HDFS 获取集群中的节点
- 八.python文件操作
一,初识文件操作. 引子: 现在这个世界上,如果可以操作文件的所有软件都消失了,比如word,wps等等,此时你的朋友通过qq给你发过来一个文件,文件名是:美女模特空姐护士联系方式.txt,在座的所有 ...
- day 0308 编码的进阶 文件操作
一.编码的进阶: 在python3以后,字符串和bytes类型彻底分开,字符串以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用与字符串方法基本一样,也 ...
- python 文件操作: 文件操作的函数, 模式及常用操作.
1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...
随机推荐
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
转载:http://www.cnblogs.com/kivenhou/archive/2013/02/22/2921954.html 操作List前请设置SPWeb的allowUnsafeUpdate ...
- Oracle中可以nologging执行的操作
redo重做日志是Oracle数据库恢复(recovery)的基础:但在很多情况下可以通过禁用重做日志的产生来加速SQL语句的完成,也就是我们所说的可nologging化的操作,这些操作大多是或串行的 ...
- iOS开发小技巧--iOS8之后的cell自动计算高度
cell高度自动计算步骤:
- poj1655 树的重心 树形dp
树的重心定义为:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡. 处理处每个节点的孩子有几个,和树的大小就好了. #include< ...
- linux(本机)配置域名
hosts是一个没有扩展名的系统文件, 其作用就是将主机名映射到对应的ip地址. 当用户执行一条ping命令时(如ping www.abc.com),系统会首先自动从hosts文件中寻找www.abc ...
- 73.Android之SparseArray替代HashMap
转载:https://liuzhichao.com/p/832.html HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果.最近在做一个Android项目,在代码中定 ...
- Linux下C程序的内存布局
参考下列书籍中的对应章节: <Linux高级程序设计(第3版)>第3章Linux进程存储管理.相关视频:一.二. <C专家编程>第6章 运动的诗章:运行时数据结构. <U ...
- Leetcode Bulb Switcher
There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off every ...
- 图像卷积、相关以及在MATLAB中的操作
图像卷积.相关以及在MATLAB中的操作 2016年7月11日 20:34:35, By ChrisZZ 区分卷积和相关 图像处理中常常需要用一个滤波器做空间滤波操作.空间滤波操作有时候也被叫做卷积滤 ...
- springMVC-配置Bean
配置Bean - 配置形式:基于xml文件方式,基于注解的方式- bean的配置方式:通过全类名(反射),通过工厂方法(静态工厂方法和实例工厂方法),FactoryBean依赖注入的方方式,属性注入和 ...