目录
引言
准备工作:
一 环境变量的设置
二 群起集群进行测试
三 问题总结
引言
hadoop完全分布集群搭建完毕后,我们在对hadoop集群的操作想更加的系统化,就需要我们搭建出一个hadoop客户端来完成对集群的操作了。本文就将介绍如何在Windows环境下搭建出hadoop客户端。
准备工作:
(1)首先要有搭建好的hadoop集群供我们使用。(未搭建集群的同学可以参照hadoop3.x系列完全分布式集群部署(虚拟机网络连接、jdk安装、hadoop安装)_杂乱无章的我的博客-CSDN博客_hadoop 集群管理工具)
(2)下载并解压编译好的hadoopWindows环境下的依赖,这里给出两个版本供大家使用:
hadoop-3.1.0链接:https://pan.baidu/s/1IcABAqzLlXQLaTpdTOKCyQ
提取码:1949
hadoop-2.7.2链接:https://pan.baidu/s/17gytdAhMg7w_04BGWG88aQ
提取码:1949
本文采用的是hadoop-2.7.2版本。
(3)maven仓库的配置。(未配置的同学可以参照Maven仓库的配置_杂乱无章的我的博客-CSDN博客)
(4)IDEA编译器
一 环境变量的设置
首先将hadoop依赖下载并解压到我们的文件夹,打开我们的bin目录可以查看到winutils.exe启动程序。
打开我们的设置--->高级系统设置---->环境变量,我们来设置对应的环境变量
首先设置HADOOP_HOME(变量值设置bin目录的父文件夹)
变量名 | HADOOP_HOME |
变量值 | D:\softwore\hadoop-2.7.2 |
接着设置path路径
新建一个,然后将下列代码复制粘贴进去
%HADOOP_HOME%\bin
这样我们就完成了环境变量的配置。
如果环境变量不起作用,可以重启电脑
二 群起集群进行测试
首先进入虚拟机将集群启动,并且保证主机与虚拟机之间能够成功联通。
进入IDEA中开始编写代码连接集群并对其进行操作。
首先在IDEA中创建一个Maven工程HdfsClientDemo,并且导入对应的依赖。代码如下:
<dependencies>
<-- 设置对应hadoop客户端支持 -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.1.3</version>
</dependency>
<-- 设置对应的测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<-- 设置日志打印,方便错误查找 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
同时在项目src/main/resources目录下,创建一个文件,命名为“log4j.properties”,同时在文件中加入如下代码
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
创建软件包名com.test.hdfs,同时创建HdfsClient类来进行测试。
在测试类HdfsClient中添加如下代码。(注意:在使用本代码时,将namenode节点改为自己的,同时将使用用户也设置为自己使用的)、
客户端代码常用编写流程主要是
1.获取一个客户端对象
2.执行相关的命令操作
3.关闭资源
package com.test.hdfs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
import java.io.IOException;
import java.URI;
import java.URISyntaxException;
public class HdfsClient {
@Test
public void testmkdir() throws URISyntaxException, IOException, InterruptedException {
//连接的集群namenode地址
URI uri = new URI("hdfs://hadoop130:8020");
//创建一个配置文件
Configuration configuration = new Configuration();
//用户
String user = "hr";
//获取到客户端对象
FileSystem fs = FileSystem.get(uri,configuration,user);
//创建一个文件夹
fs.mkdirs(new Path("test"));
//关闭资源
fs.close();
}
}
运行此测试类,并且观察是否创建出文件夹test。
三 问题总结
在测试类出现错误时,观察以下几个问题。
(1)Windows依赖hadoop是否配置成功。
(2)集群是否完整且集群是否启动成功。
(3)测试类中编写连接的namenode节点的ip值是否正确,连接用户是否正确。
(4)测试类中导入的包是否正确。
(5)hadoop集群是否能够正常与Windows主机进行连接。
目录
引言
准备工作:
一 环境变量的设置
二 群起集群进行测试
三 问题总结
引言
hadoop完全分布集群搭建完毕后,我们在对hadoop集群的操作想更加的系统化,就需要我们搭建出一个hadoop客户端来完成对集群的操作了。本文就将介绍如何在Windows环境下搭建出hadoop客户端。
准备工作:
(1)首先要有搭建好的hadoop集群供我们使用。(未搭建集群的同学可以参照hadoop3.x系列完全分布式集群部署(虚拟机网络连接、jdk安装、hadoop安装)_杂乱无章的我的博客-CSDN博客_hadoop 集群管理工具)
(2)下载并解压编译好的hadoopWindows环境下的依赖,这里给出两个版本供大家使用:
hadoop-3.1.0链接:https://pan.baidu/s/1IcABAqzLlXQLaTpdTOKCyQ
提取码:1949
hadoop-2.7.2链接:https://pan.baidu/s/17gytdAhMg7w_04BGWG88aQ
提取码:1949
本文采用的是hadoop-2.7.2版本。
(3)maven仓库的配置。(未配置的同学可以参照Maven仓库的配置_杂乱无章的我的博客-CSDN博客)
(4)IDEA编译器
一 环境变量的设置
首先将hadoop依赖下载并解压到我们的文件夹,打开我们的bin目录可以查看到winutils.exe启动程序。
打开我们的设置--->高级系统设置---->环境变量,我们来设置对应的环境变量
首先设置HADOOP_HOME(变量值设置bin目录的父文件夹)
变量名 | HADOOP_HOME |
变量值 | D:\softwore\hadoop-2.7.2 |
接着设置path路径
新建一个,然后将下列代码复制粘贴进去
%HADOOP_HOME%\bin
这样我们就完成了环境变量的配置。
如果环境变量不起作用,可以重启电脑
二 群起集群进行测试
首先进入虚拟机将集群启动,并且保证主机与虚拟机之间能够成功联通。
进入IDEA中开始编写代码连接集群并对其进行操作。
首先在IDEA中创建一个Maven工程HdfsClientDemo,并且导入对应的依赖。代码如下:
<dependencies>
<-- 设置对应hadoop客户端支持 -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.1.3</version>
</dependency>
<-- 设置对应的测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<-- 设置日志打印,方便错误查找 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
同时在项目src/main/resources目录下,创建一个文件,命名为“log4j.properties”,同时在文件中加入如下代码
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
创建软件包名com.test.hdfs,同时创建HdfsClient类来进行测试。
在测试类HdfsClient中添加如下代码。(注意:在使用本代码时,将namenode节点改为自己的,同时将使用用户也设置为自己使用的)、
客户端代码常用编写流程主要是
1.获取一个客户端对象
2.执行相关的命令操作
3.关闭资源
package com.test.hdfs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
import java.io.IOException;
import java.URI;
import java.URISyntaxException;
public class HdfsClient {
@Test
public void testmkdir() throws URISyntaxException, IOException, InterruptedException {
//连接的集群namenode地址
URI uri = new URI("hdfs://hadoop130:8020");
//创建一个配置文件
Configuration configuration = new Configuration();
//用户
String user = "hr";
//获取到客户端对象
FileSystem fs = FileSystem.get(uri,configuration,user);
//创建一个文件夹
fs.mkdirs(new Path("test"));
//关闭资源
fs.close();
}
}
运行此测试类,并且观察是否创建出文件夹test。
三 问题总结
在测试类出现错误时,观察以下几个问题。
(1)Windows依赖hadoop是否配置成功。
(2)集群是否完整且集群是否启动成功。
(3)测试类中编写连接的namenode节点的ip值是否正确,连接用户是否正确。
(4)测试类中导入的包是否正确。
(5)hadoop集群是否能够正常与Windows主机进行连接。