1.通过java.net.URL实现屏幕显示demo1文件的内容
1 package Hdfs; 2 import java.io.InputStream; 3 import java.net.URL; 4 import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; 5 import org.apache.hadoop.io.IOUtils; 6 7 public class JarDemo { 8 static{ 9 URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); 10 } 11 public static void main(String[] args) { 12 InputStream in =null; 13 try { 14 in= new URL(args[0]).openStream(); 15 IOUtils.copyBytes(in, System.out, 4096,false); 16 } catch (Exception e) { 17 e.printStackTrace(); 18 } finally{ 19 IOUtils.closeStream(in); 20 } 21 22 } 23 }
2.打包,将上述java文件打成jar包
(1)鼠标右键export
(2)找到jar file项
(三)输入jar包存放的路径
(4)将jar包所在的主类在下面选择框选中,如果此部不做,需要在linux运行jar包的时候显示指明主类。如com.hdfs
3.打包好在指定位置存放,通过CRT传输至linux上对应的/usr/local/txtnode中
如下图运行此jar包 。
问题所在:由于输入的参数是目录而非文件报错。
解决此问题:(1)准备一个demo1文件上传至hdfs中
(2)上传至HDFS命令
(3)再次执行便可显示demo1里面的内容