hadoop-common-2.4.0.jar我的配置UBUNTU13.10
hadoop-2.4.0, 安装在/usr/lcoal/hadoop-2.4.0里面
我电脑名字是Tank,我的用户名是joe
首先我桌面上有一份歌词,heal the world,我先把这个歌词上传到我的localhost下面
joe@Tank:/usr/local/hadoop-2.4.0$ hadoop fs -copyFromLocal ~/Desktop/healtheworld.txt hdfs://localhost/user/joe
Hadoop: The Definitive Guide 第三章里面的例题3-1
从https://secdiary.com/hadoop/reading-data-from-hadoop-with-java/得到完整的源代码应该这样写
import java.io.InputStream;
import java.net.URL;import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
public class URLCat{
static {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
public static void main(String[] args) throws Exception{
InputStream in=null;
try{
in =new URL(args[0]).openStream();
IOUtils.copyBytes(in,System.out,4096,false);
}finally{
IOUtils.closeStream(in);
}
}
}
之后该 如何编译URLCat.java?先使用命令
joe@Tank:/usr/local/hadoop-2.4.0$ mkdir class
在本地目录下生成一个class文件夹,之后编译这个文档,文档我放在桌面
joe@Tank:/usr/local/hadoop-2.4.0$ javac -classpath xxx.jar -d class ~/ Desktop/URLCat.java
关键是xxx,jar这个包不好找,不知道是哪一个。找来找去,应该是/usr/local/hadoop-2.4.0/share/hadoop/common/hadoop-common-2.4.0.jar
那么完整的命令就是
joe@Tank:/usr/local/hadoop-2.4.0$ javac -classpath ${HADOOP_HOME}/share/hadoop/common/hadoop-common-2.4.0.jar -d ${HADOOP_HOME}/class ~/Desktop/URLCat.java
这儿还需要把class这个文件夹放到CLASSPATH中。打开/hadoop-2.4.0/etc/hadoop下的hadoop-env.sh,添加
export HADOOP_CLASSPATH=/usr/local/hadoop-2.4.0/class
最后运行即可
joe@Tank:/usr/local/hadoop-2.4.0$ hadoop URLCat hdfs://localhost/user/joe/healtheworld.txt
%%%%%%%%%%%%%%%%%%%如何查看.jar的内容%%%%%%%%%%%%%%%%%%%%%
jar tvf xxx.jar
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%