1. 程式人生 > WINDOWS開發 >HDFS【hadoop3.1.3 windows開發環境搭建】

HDFS【hadoop3.1.3 windows開發環境搭建】

目錄

一、配置hadoop3.1.3 windows環境依賴

將 \資料\01_jar包\03_Windows依賴\hadoop-3.0.0放到任意一個目錄

技術分享圖片

配置環境變數

%HADOOP_HOME%:D:\SoftWare\hadoop-3.1.0

新增到path路徑

%HADOOP_HOME%\bin

在cmd中測試

winutils是否可用
技術分享圖片

注意

   1.測試-winutils如果不行,重啟動電腦
   2.有些電腦可能會有些問題(比如無法在程式碼中上傳或者下載)需要將:把hadoop.dll 和 winutils.exe放      到c:\windows\system32目錄下就好了

二、idea中的配置

建立工程/模組

技術分享圖片

新增pom.xml依賴

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.1.3</version>
        </dependency>
    </dependencies>

注意 :IDEA中maven的配置

日誌新增--配置log4j2.xml

在專案的src/main/resources目錄下,新建一個檔案,命名為“log4j2.xml”,在檔案中填入

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="error" strict="true" name="XMLConfig">
    <Appenders>
        <!-- 型別名為Console,名稱為必須屬性 -->
        <Appender type="Console" name="STDOUT">
            <!-- 佈局為PatternLayout的方式,
            輸出樣式為[INFO] [2018-01-22 17:34:01][org.test.Console]I‘m here -->
            <Layout type="PatternLayout"
                    pattern="[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c{10}]%m%n" />
        </Appender>

    </Appenders>

    <Loggers>
        <!-- 可加性為false -->
        <Logger name="test" level="info" additivity="false">
            <AppenderRef ref="STDOUT" />
        </Logger>

        <!-- root loggerConfig設定 -->
        <Root level="info">
            <AppenderRef ref="STDOUT" />
        </Root>
    </Loggers>
</Configuration>

建立測試類Hdfsdemo

public class Hdfsdemo{	
@Test
public void testMkdirs() throws IOException,InterruptedException,URISyntaxException{
		
		// 1 獲取檔案系統
		Configuration configuration = new Configuration();
		// 配置在叢集上執行
		// configuration.set("fs.defaultFS","hdfs://hadoop102:8020");
		// FileSystem fs = FileSystem.get(configuration);

		FileSystem fs = FileSystem.get(new URI("hdfs://hadoop102:8020"),configuration,"atguigu");
		
		// 2 建立目錄
		fs.mkdirs(new Path("/1108/daxian/banzhang"));
		
		// 3 關閉資源
		fs.close();
	}
}

更多參考HDFS【Java API操作】

報錯

技術分享圖片

注意"hdfs://hadoop102:8020"的檢查路徑以及埠號、hadoop叢集是否啟動