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二,文件操作的更多相关文章

  1. Hadoop学习笔记之二 文件操作

    HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...

  2. java I/O框架 (二)文件操作(File)

    1.介绍 java io中最常操作的就是我们电脑中的文件,将这些文件以流的形式本地读写,或者上传到网络上.java中的File类就是对这些存储于磁盘上文件的虚拟映射,这也体现了java面向对象的思想, ...

  3. 初识python: 文件操作

    1.文件的打开模式: r:读模式:w:写模式:a:追加模式,在文件最后写入内容;r+:读写模式,读取文件内容,并在末尾添加记录:w+:写读模式,新建文件并添加记录:a+:追加写读:rb:以二进制格式读 ...

  4. Hadoop HDFS文件操作

    1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...

  5. hadoop的文件操作整理java

    package dada; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...

  6. hadoop 一些文件操作

    在HDFS上面,FileSystem创建目录 复制本地文件到HDFS 获取集群中的节点

  7. 八.python文件操作

    一,初识文件操作. 引子: 现在这个世界上,如果可以操作文件的所有软件都消失了,比如word,wps等等,此时你的朋友通过qq给你发过来一个文件,文件名是:美女模特空姐护士联系方式.txt,在座的所有 ...

  8. day 0308 编码的进阶 文件操作

    一.编码的进阶: 在python3以后,字符串和bytes类型彻底分开,字符串以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用与字符串方法基本一样,也 ...

  9. python 文件操作: 文件操作的函数, 模式及常用操作.

    1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...

随机推荐

  1. C#高级特性_Attribute

    Attribute: 公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .NET ...

  2. hibernate的hql查询

    1.概念介绍 1.Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL查询语句. 2.HQL是Hibernate Query Langua ...

  3. mysql中insert into select from的使用

    如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现.具体情形是:有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,我们可以使 ...

  4. you-get中文说明

    来源于:https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E You-Get 乃一小小哒命令行程序, ...

  5. freemarker 分页取值

    <#if pagination??&&pagination.list??> <#list pagination.list as video> <td al ...

  6. Java Native Method

    一.什么是java native method? "A native method is a Java method whose implementation is provided by ...

  7. .net的Hello World之旅

    class Program    {        //这是主函数,是程序的入口        static void Main(string[] args)        {            ...

  8. Sigmaplot激活码获取地址

    SigmaPlot是一款高质量绘图软件,可以帮助用户以超简单表格形式来更清楚有效地展现工作结果,有了SigmaPlot你可以不用在电脑前久坐就可以制作出高质量的图形. 软件完美兼容Microsoft ...

  9. AS技巧合集「常用技巧篇」

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=254723&extra=page%3D2%26filter%3Dautho ...

  10. codeforces 580D:Kefa and Dishes

    Description When Kefa came to the restaurant and sat at a table, the waiter immediately brought him ...