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集群是否啟動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM