1、编写代码:
package crt.hadoop.test;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
public class URLCat {
static{
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
InputStream in = null;
try{
in = new URL(args[0]).openStream();
IOUtils.copyBytes(in, System.out, 4096, false);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
}
}
}
2、在$HADOOP_HOME下新建目录build/classes/crt/hadoop/test/
3、把URLCat.java复制到$HADOOP_HOME/build/classes/crt/hadoop/test/
4、编译:
$ javac -classpath $HADOOP_HOME/hadoop-common-0.21.0.jar
$HADOOP_HOME/build/classes/crt/hadoop/test/URLCat.java
5、新建测试文件
$ cd /home/hadoop/workspace
$ mkdir readdata
$ cd readdata
$ echo "hello hadoop" > readdatatest.txt
$ hdfs dfs put readdatatest.txt hdfs://namenode:9001/tmp
6、运行:
$ export HADOOP_CLASSPATH=build/classes
$ hadoop crt.hadoop.test.URLCat hdfs://hadoop-namenode:9001/tmp/readdatatest.txt
运行结果:
hello hadoop