網站首頁 編程語言 正文
目錄
引言
準備工作:
一? ? 環境變量的設置
二? ?群起集群進行測試
三? ?問題總結
引言
hadoop完全分布集群搭建完畢后,我們在對hadoop集群的操作想更加的系統化,就需要我們搭建出一個hadoop客戶端來完成對集群的操作了。本文就將介紹如何在Windows環境下搭建出hadoop客戶端。
準備工作:
(1)首先要有搭建好的hadoop集群供我們使用。(未搭建集群的同學可以參照hadoop3.x系列完全分布式集群部署(虛擬機網絡連接、jdk安裝、hadoop安裝)_雜亂無章的我的博客-CSDN博客_hadoop 集群管理工具)
(2)下載并解壓編譯好的hadoopWindows環境下的依賴,這里給出兩個版本供大家使用:
hadoop-3.1.0鏈接:https://pan.baidu.com/s/1IcABAqzLlXQLaTpdTOKCyQ?
提取碼:1949
hadoop-2.7.2鏈接:https://pan.baidu.com/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.net.URI;
import java.net.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主機進行連接。
原文鏈接:https://blog.csdn.net/m0_58258383/article/details/125935146
相關推薦
- 2022-12-05 Spark中的數據讀取保存和累加器實例詳解_相關技巧
- 2022-08-27 .Net實現延遲隊列_實用技巧
- 2022-04-24 TypeScript基礎class類教程示例_基礎知識
- 2022-04-09 idea解決sun.misc.BASE64Encoder 類找不到報錯
- 2022-11-04 詳解C++?指針與二維數組名_C 語言
- 2024-04-04 mybatis-config.xml的配置
- 2022-03-06 Linux之Centos8創建CA證書教程_Linux
- 2022-08-23 React?中的列表渲染要加?key的原因分析_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支