随笔分类 -  Hadoop

摘要:文件的压缩有两大好处:1、可以减少存储文件所需要的磁盘空间;2、可以加速数据在网络和磁盘上的传输。尤其是在处理大数据时,这两大好处是相当重要的。 下面是一个使用gzip工具压缩文件的例子。将文件/user/hadoop/aa.txt进行压缩,压缩后为/user/hadoop/text.gz 1 package com.hdfs; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.net.URI; 7 8 import or... 阅读全文
posted @ 2013-06-19 20:28 残剑_ 阅读(32635) 评论(1) 推荐(2) 编辑
摘要:在单个操作中处理一批文件,这是很常见的需求。比如说处理日志的MapReduce作业可能需要分析一个月内包含在大量目录中的日志文件。在一个表达式中使用通配符在匹配多个文件时比较方便的,无需列举每个文件和目录来指定输入。hadoop为执行通配提供了两个FIleSystem方法:1 public FileStatus[] globStatus(Path pathPattern) throw IOException2 public FileStatus[] globStatus(Path pathPattern, PathFilter filter) throw IOException glob... 阅读全文
posted @ 2013-06-18 22:04 残剑_ 阅读(8284) 评论(0) 推荐(0) 编辑
摘要:任何文件系统的一个重要特性都是提供其目录结构浏览和检索它所存文件和目录相关信息的功能。FileStatus对象封装了文件系统中文件和目录的元数据,包括文件的长度、块大小、备份数、修改时间、所有者以及权限等信息。 FileStatus对象由FileSystem的getFileStatus()方法获得,调用该方法的时候要把文件的Path传进去。 例子:打印输出某个文件的所有信息 1 package com.hdfs; 2 3 import org.apache.hadoop.conf.Configuration; 4 import org.apache.hadoop.fs.FSDataI... 阅读全文
posted @ 2013-06-18 09:25 残剑_ 阅读(9386) 评论(2) 推荐(2) 编辑
摘要:HDFS是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件、删除文件、读取文件内容等操作。下面记录一下使用JAVA API对HDFS中的文件进行操作的过程。 对分HDFS中的文件操作主要涉及一下几个类: Configuration类:该类的对象封转了客户端或者服务器的配置。 FileSystem类:该类的对象是一个文件系统对象,可以用该对象的一些方法来对文件进行操作。FileSystem fs = FileSystem.get(conf);通过FileSystem的静态方法get获得该对象。 FSDataInputStream和FSDataOutputSt... 阅读全文
posted @ 2013-06-17 22:21 残剑_ 阅读(42502) 评论(1) 推荐(2) 编辑
摘要:今天终于把hadoop集群环境给搭建起来了,能够运行单词统计的示例程序了。集群信息如下:主机名Hadoop角色Hadoop jps命令结果Hadoop用户Hadoop安装目录masterMasterslavesNameNodeDataNodeJobTrackerTaskTrackerSecondaryNameNode创建相同的用户的组名:hadoop。安装hadoop-0.20.2时使用hadoop用户,并且hadoop的文件夹归属也是hadoop:hadoop/opt/hadoopslave1slavesDataNodeTaskTrackerslave2slavesDataNodeTask. 阅读全文
posted @ 2013-06-16 20:59 残剑_ 阅读(57124) 评论(3) 推荐(4) 编辑
摘要:今天把hadoop环境给搭起来了,在master上面启动hadoop后,jps查看进程,SecondaryNameNodeNameNode JpsDataNodeJobTrackerTaskTracker都没问题。但是去http://master:50070/dfshealth.jsp查看,live nodes为0。所以我到slave1和slave2上面去执行jps查看进程,结果都没有datanode进程,也就是说datanode没有启动成功,所以我就到logs里面去执行less hadoop-hadoop-datanode-slave2.log,发现报错的内容如下:2013-06-11 .. 阅读全文
posted @ 2013-06-11 02:42 残剑_ 阅读(8966) 评论(2) 推荐(1) 编辑
摘要:java.net.ConnectException: Call to master/192.168.137.101:9001 failed on connection exception: java.net.ConnectException: Connection refusedat org.apache.hadoop.ipc.Client.wrapException(Client.java:1099)at org.apache.hadoop.ipc.Client.call(Client.java:1075)at org.apache.hadoop.ipc.RPC$Invoker.invoke 阅读全文
posted @ 2013-06-06 21:35 残剑_ 阅读(25073) 评论(0) 推荐(0) 编辑