第一个hdfs程序

作者 zhan-bin 日期 2018-07-03
第一个hdfs程序

hdfs运行java程序实例

作者:Zhan-bin
日期:2018-7-3

1.运行环境

  • 这里我的运行环境是CentOS 7 64位+Hadoop2.9.1
  • 在windows主机上进行开发

2.创建项目

  • 打开eclipse创建一个java project 名为HelloHDFS
    1

  • 在src目录下新建一个类,命名为HelloHDFS
    3

2.导包

  • 在项目文件夹右键- Build Path - Add External Archive
    2
  • 将hadoop解压后找到share文件夹进入hadoop文件夹
  • common文件夹里面需要导入的包: hadoop-common-2.9.1.jar和lib里面的所有包
  • hdfs文件夹里面需要导入的包:hadoop-hdfs-2.9.1.jar,hadoop-hdfs-client-2.9.1.jar

3.打开hdfs集群

  • 打开虚拟机,输入命令

    1
    2
    cd ~/hadoop
    ./sbin/start-dfs.sh
  • 输入jps查看有没有启动成功
    1

  • 创建需要读取的文件,将文件传输到hadoop集群。
    1
    2
    3
    cd
    touch test.txt
    vi test.txt
1
hadoop fs -put ./test.txt /
  • 代码实例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;

public class HelloHDFS {
public static void main(String args[]) throws IOException {

URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
URL url1 = new URL("hdfs://10.21.21.2:9000/hello.txt");
InputStream in1 = url1.openStream();
IOUtils.copyBytes(in1, System.out, 4096, true);

}
}
  • 运行结果

2