本次环境如下:
集群信息:

虚拟机ip虚拟机hostname虚拟机操作系统虚拟机类型
192.168.0.177ambari-1Centos7Master
192.168.0.178ambari-2Centos7Slave
192.168.0.179ambari-3Centos7Slave

Hadoop:2.7.1
IDEA:2019.3.4

主要按照以下几个思路走:

1.用IDEA创建Maven项目

2.导入Hadoop对应jar包

3.导入Hadoop配置文件

4.创建测试类

5.测试成功!


1.用IDEA创建Maven项目

1.1 打开IDEA

open_IDEA.png

1.2 New Project

左侧选择Maven项目,选择jdk,建议是万能的1.8。
new_project.png

1.3 Maven配置

GroupID随便写,项目名也随便写,然后点finish。
maven.png

1.4 等待配置成功

因为IDEA要从远程服务器上下载Maven依赖环境,所以这里需要等待一段时间,慢是正常的。
顺带提一下为什么要用Maven,其实普通的项目也是可以的,使用Maven是为了方便我们导入和同步jar包,
只需要几行dependency,就能安装对应版本的jar包,很是方便,尤其是Hadoop这种。
等到目录结构出来,也就说明Maven环境成功建立,可以进行下一步了,没有出来的不要着急,继续等或者百度相关关键词。
maven_1.png

2.导入Hadoop对应jar包

本次一共使用4个jar包:
junit-4.12
hadoop-common-2.7.1
hadoop-hdfs-2.7.1
hadoop-client-2.7.1
其中2.7.1是Hadoop版本号,根据自己所安装的Hadoop版本进行变动。
因为使用的是Maven项目,所以在pom.xml里面把依赖包导入。
下面是pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>2.7.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.7.1</version>
        </dependency>
    </dependencies>

    <groupId>progbin</groupId>
    <artifactId>HadoopTest</artifactId>
    <version>1.0-SNAPSHOT</version>
</project>

3.导入Hadoop配置文件
把集群上Master节点里的core-site.xml和hdfs-site.xml放在src/main/resources(根目录)下
这两个配置文件在/hadoop/etc/hadoop 目录下。

4.创建测试类

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;


public class HdfsTest {

    public static void main(String[] args) {
        try {
            String filename = "hdfs://ambari-1:8020/user/test/jdk-8u201-linux-x64.tar.gz";
            Configuration conf = new Configuration();
            FileSystem fs = null;
            fs = FileSystem.get(conf);
            if (fs.exists(new Path(filename))){
                System.out.println("the file is exist");
            }else{
                System.out.println("the file is not exist");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

其中ambari-1:8020 是Master节点的host,如果是Windows主机,可以修改hosts.txt把Master节点的映射加入进去
如果不知道的话,可以查看core-site.xml里面的fs.defaultFS这个属性名
由于每个人的配置文件不相同,如果是使用Ambari配置的Hadoop则是可以正常使用,因为Ambari都配置好了,
如果是自己装的Hadoop则是需要先配置core-site.xml和hdfs-site.xml。

5.测试成功!

搞腚!

标签: none

添加新评论