如果用hadoop直接操作,还要学一些专门的hadoop指令,其实也可以用java代码来操作hadoop 首先电脑上安装intellig IDEA,notepad ,之前开启的hadoop集群(三台linux虚拟机) 首先,在windows下设置hadoop环境:
红线的两个是至关重要的文件,否则在执行java_api时会报错 接下来设置环境变量:
在path里添加路径:
并且要把hadoop.dll文件放到红圈目录下重启电脑:
接下来安装maven,我这里安装的是最新版本的maven 官网如下: http://maven.apache.org/download.cgi
安装好后,将其解压在指定目录,我放在D盘下:
这个时候要设置云镜像源,这样可以让下载速度更快,要修改settings.xml,用notepad 打开,在mirrors配置项里进行配置,并且加上jar包的仓库目录:
代码语言:javascript复制 <mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
</mirror>
</mirrors>
代码语言:javascript复制 <localRepository>E:mavenLocalWarehouse</localRepository>
下面的LocalWarehouse是自己创建的文件本地仓库 接下来设置环境变量,同上:
现在可以打开intellji IDEA进行设置maven,创建一个maven项目(不加骨架),自己起名字,进去后点击settings:
设置好后,导入jar包(下面这些都是要下载的对应jar包):
代码语言:javascript复制<?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>
<groupId>cn.gzq1</groupId>
<artifactId>hadoop_api</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<!-- <verbal>true</verbal>-->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
导入后intellji IDEA会自动下载相应jar包
下载完成会显示绿色对勾 这个时候就可以在java目录下创建一个包,并且在包下创建一个类,和一个方法:
代码语言:javascript复制package cn.gzq1.hdfs_api;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.junit.Test;
import java.io.*;
/**
* @Auther: gzq
* @Date: 2020/11/21 - 11 - 21 - 14:36
* @Description: cn.gzq1.hdfs_api
*/
public class HdfsApiDemo {
@Test
public void getFileSystem1() throws IOException {
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://192.168.19.110:8020/");
FileSystem fileSystem = FileSystem.get(configuration);
System.out.println(fileSystem.toString());
}
}
检查三台虚拟机是否开启相应的hadoop服务:
另外两台就不放图了 实行后,打印成功: