Hadoop FileSystem API打jar包并执行

我们要写的 是 添加文件夹的 功能

1.我们创建一个maven项目

架构

2.pom.xml节点

<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/maven-v4_0_0.xsd">
    <parent>
        <artifactId>Y2_SSH</artifactId>
        <groupId>cn.happy</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>WordCount</artifactId>
    <packaging>war</packaging>
    <name>WordCount Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.8.0</version>
        </dependency>
        <!--hadoop-->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.8.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-jobclient -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
            <version>2.8.0</version>
            <scope>provided</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>1.2</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>WordCount</finalName>
    </build>
</project>

版本最好和你的hadoop版本一样

我们写一个类:

package demo;

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

import java.io.IOException;

/**
 * Created by linlin on 2017/12/15.
 */
public class HDFSMkDir {

    public static void main(String[] args) throws IOException {
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(conf);
        fs.mkdirs(new Path("/sllLove"));
    }
}

这个代码执行之后我们期待的效果是 在hdfs的根目录添加一个sllLove的文件夹

代码我们写好了 我们开始打jar包了

这个我们弄好是没有的 这个是我的 因为你还差一步

把你刚刚弄的jar build一下

然后目录里面就有了

然后我们打开我们的 xftp

我们连接一下 master虚拟机

我们把这个我们需要的jar拖到 我们的hadoop中

传到这个目录下面 因为我们需要的jar包都在这里面

然后我们连接shell

走到那个jar的目录下面

执行命令hadoop jar jar包名 类的全名

hadoop jar hadoop.jar demo.HDFSMKDir

然后我们查询 结果果然是 添加成功了

还有删除。。等等一系列操作我就不一一列举了

经验分享 程序员 微信小程序 职场和发展