1. 程式人生 > >Hadoop FileSystem API打jar包並執行

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


然後我們查詢 結果果然是 新增成功了

還有刪除。。等等一系列操作我就不一一列舉了